ΠΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½Π° Π½ΠΎΠ²Π° Π²Π΅ΡΡΠΈΡ Π½Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π΅Π·ΠΈΠΊΠ° Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ AWK Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° GNU, Gawk 5.2.0. 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() Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π±ΡΠ»Π΅Π²ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΡΠΈΡΠ»Π°, Π½ΠΎ ΡΠ΅ ΡΡΠ΅ΡΠΈΡΠ°Ρ ΠΊΠ°ΡΠΎ Π±ΡΠ»Π΅Π²ΠΈ.
- Π ΡΠ΅ΠΆΠΈΠΌ BWK, ΡΠΊΠ°Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ»Π°Π³Π° "--traditional" ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΈΠ·ΡΠ°Π·ΠΈ Π·Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½Π΅ Π½Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΈ, ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈ ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΠΎΡ ΠΎΠΏΡΠΈΡΡΠ° "-r" ("--re-interval").
- Π Π°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ rwarray ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π½ΠΎΠ²ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ writeall() ΠΈ readall() Π·Π° ΠΏΠΈΡΠ°Π½Π΅ ΠΈ ΡΠ΅ΡΠ΅Π½Π΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΈ ΠΌΠ°ΡΠΈΠ²ΠΈ Π½Π°Π²Π΅Π΄Π½ΡΠΆ.
- ΠΠΎΠ±Π°Π²Π΅Π½ ΡΠΊΡΠΈΠΏΡ gawkbug Π·Π° Π΄ΠΎΠΊΠ»Π°Π΄Π²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ.
- ΠΡΠΈΠ³ΡΡΡΠ²Π° ΡΠ΅ Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅, Π°ΠΊΠΎ Π±ΡΠ΄Π°Ρ ΠΎΡΠΊΡΠΈΡΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ΡΠ°Π²Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΌΠΈΠ²Π°Π½Π΅.
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ OS/2 ΠΈ VAX/VMS Π΅ ΠΏΡΠ΅ΡΡΡΠ°Π½ΠΎΠ²Π΅Π½Π°.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru