ΠΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½ Π½ΠΎΠ²ΠΈΡΡ 5.2.0 ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΈΡ Π΅Π·ΠΈΠΊ AWK ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° GNU β Gawk. AWK Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΏΡΠ΅Π· 70-ΡΠ΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ Π½Π° ΠΌΠΈΠ½Π°Π»ΠΈΡ Π²Π΅ΠΊ ΠΈ Π½Π΅ Π΅ ΠΏΡΠ΅ΡΡΡΠΏΡΠ» Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΎΡ ΡΡΠ΅Π΄Π°ΡΠ° Π½Π° 80-ΡΠ΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ Π±Π΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΡ ΠΊΠΎΡΡΡΠΊ Π½Π° Π΅Π·ΠΈΠΊΠ°, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ ΠΏΡΠ΅Π· ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π΄Π΅ΡΠ΅ΡΠΈΠ»Π΅ΡΠΈΡ Π΄Π° Π·Π°ΠΏΠ°Π·ΠΈ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½Π°ΡΠ° ΡΠΈ ΡΡΠ°Π±ΠΈΠ»Π½ΠΎΡΡ ΠΈ ΠΏΡΠΎΡΡΠΎΡΠ°. ΠΡΠΏΡΠ΅ΠΊΠΈ Π½Π°ΠΏΡΠ΅Π΄Π½Π°Π»Π°ΡΠ° ΡΠΈ Π²ΡΠ·ΡΠ°ΡΡ, AWK Π²ΡΠ΅ ΠΎΡΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΡΠΈΠ½Π½ΠΈ Π·Π°Π΄Π°ΡΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΡΡΠΈΡΠΊΠ° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°.
ΠΠ»ΡΡΠΎΠ²ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ:
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡΠ° Π·Π° ΠΏΠ°ΠΌΠ΅Ρ pma (persistent malloc), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, ΠΌΠ°ΡΠΈΠ²ΠΈ ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½ΠΈΡ Π½Π° awk.
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Π°ΡΠΈΡΠΌΠ΅ΡΠΈΠΊΠ° Ρ Π²ΠΈΡΠΎΠΊΠ° ΡΠΎΡΠ½ΠΎΡΡ, ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° MPFR, Π΅ ΠΈΠ·Π²Π΅Π΄Π΅Π½Π° ΠΎΡ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΎΡΡΡΠ° Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΡΠΈΡ GNU Awk ΠΈ Π΅ ΠΏΡΠ΅Π΄Π°Π΄Π΅Π½Π° Π½Π° Π²ΡΠ½ΡΠ΅Π½ Π΅Π½ΡΡΡΠΈΠ°ΡΡ. ΠΡΠ±Π΅Π»ΡΠ·Π²Π° ΡΠ΅, ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΡΠ΅ΠΆΠΈΠΌΠ° MPFR Π² GNU Awk ΡΠ΅ ΡΡΠΈΡΠ° Π·Π° Π³ΡΠ΅ΡΠΊΠ°. Π ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°, ΡΠ΅ ΠΏΠ»Π°Π½ΠΈΡΠ° Π½Π°ΠΏΡΠ»Π½ΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π΅ ΡΠ°Π·ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ ΠΎΡ GNU Awk.
- ΠΠ±Π½ΠΎΠ²Π΅Π½ΠΈ ΡΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π·Π° ΡΠ±ΠΎΡΠΊΠ° Libtool 2.4.7 ΠΈ Bison 3.8.2.
- ΠΡΠΎΠΌΠ΅Π½Π΅Π½Π° Π΅ Π»ΠΎΠ³ΠΈΠΊΠ°ΡΠ° Π·Π° ΡΡΠ°Π²Π½ΡΠ²Π°Π½Π΅ Π½Π° ΡΠΈΡΠ»Π°, ΠΊΠΎΡΡΠΎ Π΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° Π² ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Ρ Π»ΠΎΠ³ΠΈΠΊΠ°ΡΠ°, ΠΏΡΠΈΠ»Π°Π³Π°Π½Π° Π² Π΅Π·ΠΈΠΊΠ° C. ΠΠ° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅, ΠΏΡΠΎΠΌΡΠ½Π°ΡΠ° ΠΎΡΠ½ΠΎΠ²Π½ΠΎ Π·Π°ΡΡΠ³Π° ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Infinity ΠΈ NaN Ρ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈ ΡΠΈΡΠ»Π°.
- ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Ρ Π΅Ρ-ΡΡΠ½ΠΊΡΠΈΡΡΠ° FNV1-A Π² Π°ΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΠΈΡΠ΅ ΠΌΠ°ΡΠΈΠ²ΠΈ, Π²ΠΊΠ»ΡΡΠ²Π°ΡΠ° ΡΠ΅ ΠΏΡΠΈ Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° Π½Π° ΡΡΠ΅Π΄Π°ΡΠ° AWK_HASH Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡ "fnv1a".
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΡΠ±ΠΎΡΠΊΠ° Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° CMake Π΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠ° (ΠΊΠΎΠ΄ΡΡ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° CMake Π΅ ΠΎΡΡΠ°Π½Π°Π» Π½Π΅ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ ΠΈ Π½Π΅ Π΅ ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Π½ ΠΏΠ΅Ρ Π³ΠΎΠ΄ΠΈΠ½ΠΈ).
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΡΡΠ½ΠΊΡΠΈΡΡΠ° mkbool() Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π±ΡΠ»Π΅Π²ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΡΠΈΡΠ»Π°, Π½ΠΎ ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Ρ ΠΊΠ°ΡΠΎ ΡΠΈΠΏ Boolean.
- Π ΡΠ΅ΠΆΠΈΠΌ BWK ΠΏΡΠΈ Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ»Π°Π³Π° "βtraditional" ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΈΠ·ΡΠ°Π·ΠΈ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎ-ΡΠ°Π½ΠΎ Π±ΡΡ Π° Π²ΠΊΠ»ΡΡΠ²Π°Π½ΠΈ Ρ ΠΎΠΏΡΠΈΡΡΠ° "-r" ("βre-interval").
- Π ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ rwarray ΡΠ° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈ Π½ΠΎΠ²ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ writeall() ΠΈ readall() Π·Π° Π·Π°ΠΏΠΈΡ ΠΈ ΡΠ΅ΡΠ΅Π½Π΅ Π½Π°Π²Π΅Π΄Π½ΡΠΆ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΈ ΠΌΠ°ΡΠΈΠ²ΠΈ.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΡΠΊΡΠΈΠΏΡΡΡ gawkbug Π·Π° ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π³ΡΠ΅ΡΠΊΠΈ.
- ΠΠ°ΡΠ°Π½ΡΠΈΡΠ°Π½ΠΎ ΠΌΠΈΠ³Π½ΠΎΠ²Π΅Π½ΠΎ ΡΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ° ΠΏΡΠΈ ΠΎΡΠΊΡΠΈΡΠΈΠ΅ Π½Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ΡΠ°Π²Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅ ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° fuzzing ΡΠ΅ΡΡΠΈΡΠ°Π½Π΅.
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ OS/2 ΠΈ VAX/VMS Π΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π°.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
