Versioni i ri i interpretuesit GNU Awk 5.2

Është prezantuar një version i ri i zbatimit të gjuhës së programimit AWK nga Projekti GNU, Gawk 5.2.0. AWK u zhvillua në vitet 70 të shekullit të kaluar dhe nuk ka pësuar ndryshime të rëndësishme që nga mesi i viteve 80, në të cilat u përcaktua shtylla kurrizore e gjuhës, gjë që e ka lejuar atë të ruajë stabilitetin dhe thjeshtësinë e pacenuar të gjuhës gjatë të kaluarës. dekada. Pavarësisht nga mosha e tij e avancuar, AWK ende përdoret në mënyrë aktive nga administratorët për të kryer punë rutinë në lidhje me analizimin e llojeve të ndryshme të skedarëve të tekstit dhe gjenerimin e statistikave të thjeshta rezultuese.

Ndryshimet kryesore:

  • Mbështetje eksperimentale e shtuar për menaxherin e memories pma (malloc i vazhdueshëm), i cili ju lejon të ruani vlerat e variablave, vargjeve dhe funksioneve të përcaktuara nga përdoruesi midis ekzekutimeve të ndryshme të awk.
  • Mbështetja aritmetike me saktësi të lartë e ofruar nga biblioteka MPFR është hequr nga përgjegjësia e mirëmbajtësit të GNU Awk dhe i është dhënë një entuziastësh të jashtëm. Vihet re se zbatimi i modalitetit MPFR në GNU Awk konsiderohet një gabim. Në rast të një ndryshimi të gjendjes së ruajtur, plani është që të hiqet plotësisht kjo veçori nga GNU Awk.
  • Komponentët e infrastrukturës së montimit Libtool 2.4.7 dhe Bison 3.8.2 janë përditësuar.
  • Është ndryshuar logjika e krahasimit të numrave, e cila është përshtatur me logjikën e përdorur në gjuhën C. Për përdoruesit, ndryshimi ndikon kryesisht në krahasimin e vlerave Infinity dhe NaN me numrat e rregullt.
  • Është e mundur të përdoret funksioni hash FNV1-A në grupet shoqëruese, i cili aktivizohet kur ndryshorja e mjedisit AWK_HASH vendoset në "fnv1a".
  • Mbështetja për ndërtimin duke përdorur CMake është hequr (kodi i mbështetjes Cmake nuk ishte i kërkuar dhe nuk është përditësuar për pesë vjet).
  • U shtua funksioni mkbool() për të krijuar vlera boolean, të cilat janë numra, por trajtohen si Boolean.
  • Në modalitetin BWK, specifikimi i flamurit "--tradicional" si parazgjedhje mundëson mbështetjen për shprehjet për përcaktimin e intervaleve të aktivizuara më parë nga opsioni "-r" ("--re-interval").
  • Zgjatja rwarray ofron funksione të reja writeall() dhe readall() për të shkruar dhe lexuar të gjitha variablat dhe vargjet menjëherë.
  • U shtua skript gawkbug për të raportuar defektet.
  • Ofron mbyllje të menjëhershme nëse zbulohen gabime sintaksore, gjë që zgjidh problemet me përdorimin e mjeteve të testimit të fuzzimit.
  • Mbështetja për sistemet operative OS/2 dhe VAX/VMS është ndërprerë.

Burimi: opennet.ru

Shto një koment