ΠΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½ Π½ΠΎΠ²ΠΈΡΡ 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
