пСЙНБНДЯРБН ОНКЭГНБЮРЕКЪ ДКЪ GNU Awk

Arnold D. Robbins
ОЕПЕБНД аЮКСЕБЮ ю. м.

нЦКЮБКЕМХЕ

оПХКНФЕМХЕ C. гЮЛЕВЮМХЪ Н ПЕЮКХГЮЖХХ

оПХКНФЕМХЕ C. гЮЛЕВЮМХЪ Н ПЕЮКХГЮЖХХ

б МЮВЮКН ЯРПЮМХЖШ

щРН ОПХКНФЕМХЕ ЯНДЕПФХР ХМТНПЛЮЖХЧ, Б НЯМНБМНЛ ХМРЕПЕЯМСЧ ДКЪ ПЕЮКХГЮРНПНБ Х РЕУ, ЙРН ОНДДЕПФХБЮЕР gawk. бЯЕ Б МЕЛ НРМНЯХРЯЪ ЯОЕЖХЮКЭМН Й gawk, Ю МЕ Й ДПСЦХЛ ПЕЮКХГЮЖХЪЛ.

C.1 яНБЛЕЯРХЛНЯРЭ БМХГ Х НРКЮДЙЮ

б МЮВЮКН ЯРПЮМХЖШ

яЛ. ПЮГДЕК 17.5 [пЮЯЬХПЕМХЪ Б gawk, НРЯСРЯРБСЧЫХЕ Б POSIX awk], ЯРП. 256, Я НАГНПНЛ ПЮЯЬХПЕМХИ GNU ЪГШЙЮ Х ОПНЦПЮЛЛШ awk. бЯЕ ЩРХ ДНОНКМЕМХЪ ЛНЦСР АШРЭ БШЙКЧВЕМШ БШГНБНЛ gawk Я ОЮПЮЛЕРПНЛ `--traditional' ХКХ Я `--posix'.

еЯКХ gawk ЯЙНЛОХКХПНБЮМЮ ДКЪ НРКЮДЙХ Я `-DDEBUG', РН ХЛЕЕРЯЪ ЕЫЕ НДХМ ОЮПЮЛЕРП, ДНЯРСОМШИ ХГ ЙНЛЮМДМНИ ЯРПНЙХ:

-W parsedebug --parsedebug

щРН ГЮЙЮГ ОЕВЮРХ ХМТНПЛЮЖХХ ХГ ЯРЕЙЮ ПЮГАНПЮ ОПНЦПЮЛЛШ. оЮПЮЛЕРП ОПЕДМЮГМЮВЕМ ДКЪ ПЮГПЮАНРВХЙНБ gawk, Ю МЕ ДКЪ ОПНЯРШУ ОНКЭГНБЮРЕКЕИ. нМ ДЮФЕ МЕ ДНКФЕМ ЙНЛОХКХПНБЮРЭЯЪ Б БЮЬС БЕПЯХЧ gawk, РЮЙ ЙЮЙ НВЕМЭ ГЮЛЕДКЪЕР БШОНКМЕМХЕ.

C.2 бМЕЯЕМХЕ ДНАЮБКЕМХИ Б gawk

б МЮВЮКН ЯРПЮМХЖШ

еЯКХ БШ ПЕЬХРЕ, ВРН БЮЛ МСФМН ПЮЯЬХПХРЭ ГМЮВХРЕКЭМН БНГЛНФМНЯРХ gawk, БШ ЯБНАНДМН ЛНФЕРЕ ЩРН ЯДЕКЮРЭ. щРХЛ ОПЕХЛСЫЕЯРБНЛ НАКЮДЮЕР ЯБНАНДМНЕ ОПНЦПЮЛЛМНЕ НАЕЯОЕВЕМХЕ; ХЯУНДМШИ ЙНД ДНЯРСОЕМ, Х БШ ЯБНАНДМН ЛНФЕРЕ ЛЕМЪРЭ ЕЦН, ЕЯКХ УНРХРЕ (ЯЛ. [GNU GENERAL PUBLIC LICENSE], ЯРП. 309).

б ЩРНЛ ПЮГДЕКЕ НАЯСФДЮЧРЯЪ ОСРХ ДКЪ ХГЛЕМЕМХИ Б gawk, Х БЯЪЙХЕ ЯННАПЮФЕМХЪ, ЙНРНПШЕ ЯКЕДСЕР ДЕПФЮРЭ Б СЛЕ.

C.2.1 дНАЮБКЕМХЕ МНБШУ ЯБНИЯРБ

б МЮВЮКН ЯРПЮМХЖШ

бШ ЛНФЕРЕ ЯБНАНДМН ДНАЮБКЪРЭ МНБШЕ ЯБНИЯРБЮ Й gawk. нДМЮЙН, ЕЯКХ БШ УНРХРЕ, ВРНАШ ЯДЕКЮММШЕ БЮЛХ ХГЛЕМЕМХЪ БНЬКХ Б ОНЯРЮБЙС gawk, ХЛЕЕРЯЪ МЕЯЙНКЭЙН ЬЮЦНБ, ЙНРНПШЕ БШ ДНКФМШ ОПЕДОПХМЪРЭ, ВРНАШ ЯДЕКЮРЭ БНГЛНФМШЛ ДКЪ ЛЕМЪ ОПХМЪРЭ БЮЬХ ХГЛЕМЕМХЪ.

1. бНГЭЛХРЕ ОНЯКЕДМЧЧ БЕПЯХЧ. дКЪ ЛЕМЪ ЦНПЮГДН КЕЦВЕ БЯРЮБХРЭ ХГЛЕМЕМХЪ, ЕЯКХ НМХ НРМНЯЪРЯЪ Й ЯЮЛНИ ОНЯКЕДМЕИ ОНЯРЮБКЪЕЛНИ БЕПЯХХ gawk. еЯКХ БЮЬЮ БЕПЯХЪ gawk НВЕМЭ ЯРЮПЮ, Ъ ЛНЦС НЙЮГЮРЭЯЪ МЕ Б ЯНЯРНЪМХХ БННАЫЕ НАЗЕДХМХРЭ ХУ. яЛ. ПЮГДЕК B.1.1 [оНКСВЕМХЕ ОНЯРЮБЙХ gawk], ЯРП. 279, ДКЪ ХМТНПЛЮЖХХ Н РНЛ, ЙЮЙ ОНКСВХРЭ ОНЯКЕДМЧЧ БЕПЯХЧ gawk.

2. яКЕДСИРЕ ЯРЮМДЮПРЮЛ ЙНДХПНБЙХ GNU. щРНР ДНЙСЛЕМР ОНЙЮГШБЮЕР, ЙЮЙ ДНКФМН ОХЯЮРЭЯЪ ОПНЦПЮЛЛМНЕ НАЕЯОЕВЕМХЕ GNU. еЯКХ БШ ЕЦН МЕ ВХРЮКХ, ОПНВРХРЕ ОНФЮКСИЯРЮ ДН РНЦН, ЙЮЙ ОПХЯРСОХРЕ Й ЛНДХТХЙЮЖХХ gawk. (The GNU Coding Standards ДНЯРСОЕМ ЙЮЙ ВЮЯРЭ Autoconf distribution ХГ FSF.)

3. хЯОНКЭГСИРЕ ЯРХКЭ ЙНДХПНБЙЮ gawk. CХ-ЙНД ДКЪ gawk ЯКЕДСЕР ХМЯРПСЙЖХЪЛ Б GNU Coding Standards, Я ЛХМХЛЮКЭМШЛХ ХЯЙКЧВЕМХЪЛХ. йНД НРТНПЛЮРХПНБЮМ Я ХЯОНКЭГНБЮМХЕЛ РПЮДХЖХНММНЦН ЯРХКЪ "K&R", Б НЯНАЕММНЯРХ Б НРМНЬЕМХХ ПЮЯОНКНФЕМХЪ ЯЙНАНЙ Х ХЯОНКЭГНБЮМХЪ ЯХЛБНКНБ tab. йНПНРЙН, ОПЮБХКЮ ЙНДХПНБЮМХЪ ДКЪ gawk РЮЙНБШ:

хЯОНКЭГСИРЕ ЯРЮПШИ ЯРХКЭ (non-prototype) ГЮЦНКНБЙНБ ТСМЙЖХИ ОПХ НОПЕДЕКЕМХХ ТСМЙЖХИ.

оНЛЕЫЮИРЕ ХЛЪ ТСМЙЖХХ Б МЮВЮКЕ НРДЕКЭМНИ ЯРПНЙХ.

оНЛЕЫЮИРЕ РХО ГМЮВЕМХЪ БНГБПЮРЮ ТСМЙЖХХ, ДЮФЕ ЕЯКХ ЩРН ЕЯРЭ int, Б ЯРПНЙЕ МЮД РНИ, ЦДЕ ОНЛЕЫЮЧРЯЪ ХЛЪ Х ЮПЦСЛЕМРШ ТСМЙЖХХ.

нОХЯЮМХЪ ЮПЦСЛЕМРНБ ТСМЙЖХХ МЕ ДНКФМШ ХЛЕРЭ НРЯРСОЮ.

яРЮБЭРЕ ОПНАЕКШ БНЙПСЦ ЯЙНАНЙ Б СОПЮБКЪЧЫХУ ЯРПСЙРСПЮУ (if, while, for, do, switch Х return).

мЕ ОНЛЕЫЮИРЕ ОПНАЕКНБ ОЕПЕД ЯЙНАЙЮЛХ, ХЯОНКЭГСЕЛШЛХ Б БШГНБЮУ ТСМЙЖХИ.

яРЮБЭРЕ ОПНАЕКШ БНЙПСЦ БЯЕУ яХ-НОЕПЮРНПНБ Х ОНЯКЕ ГЮОЪРШУ Б БШГНБЮУ ТСМЙЖХИ.

мЕ СОНРПЕАКЪИРЕ НОЕПЮРНПНБ ГЮОЪРЮЪ ДКЪ ОПНХГБЕДЕМХЪ ЙПЮРМШУ ОНАНВМШУ ЩТТЕЙРНБ, ГЮ ХЯЙКЧВЕМХЕЛ ХМХЖХЮКХГЮЖХХ ЖХЙКНБ Х ВЮЯРЕИ Я ОПХПЮЫЕМХЕЛ, Х РЕК ЛЮЙПНЯНБ.

хЯОНКЭГСИРЕ real tabs ДКЪ НРЯРСОНБ, Ю МЕ ОПНАЕКШ.

хЯОНКЭГСИРЕ ЯРХКЭ "K&R" ДКЪ ПЮЯОНКНФЕМХЪ ЯЙНАНЙ.

хЯОНКЭГСИРЕ ЯПЮБМЕМХЪ Я NULL ХКХ '"0' Б СЯКНБХЪУ НОЕПЮРНПНБ if, while Х for, Х Б ЯКСВЮЪУ НОЕПЮРНПНБ switch БЛЕЯРН ОПНЯРШУ СЙЮГЮРЕКЕИ ХКХ ГМЮВЕМХИ ЯХЛБНКНБ.

сОНРПЕАКЪИРЕ ЯХЛБНКЭМШЕ ОНЯРНЪММШЕ TRUE, FALSE Х NULL, Х ЯХЛБНКЭМСЧ ЙНМЯРЮМРС '"0' ЦДЕ МСФМН, БЛЕЯРН 1 Х 0.

бЯРЮБКЪИРЕ НДМНЯРПНВМШЕ НОХЯЮРЕКЭМШЕ ЙНЛЛЕМРЮПХХ ДКЪ ЙЮФДНИ ТСМЙЖХХ.

мЕ СОНРПЕАКЪИРЕ `#elif'. лМНЦХЕ ЯРЮПШЕ Unix C ЙНЛОХКЪРНПШ МЕ СЛЕЧР ХУ НАПЮАЮРШБЮРЭ.

мЕ СОНРПЕАКЪИРЕ ТСМЙЖХЧ alloca ДКЪ ПЕГЕПБХПНБЮМХЪ ОЮЛЪРХ БМЕ ЯРЕЙЮ. рЮЙНЕ СОНРПЕАКЕМХЕ ОПХВХМЪЕР АНКЭЬЕ РПСДМНЯРЕИ ОПХ ОЕПЕМНЯЕ, ВЕЛ МЕАНКЭЬНЕ СДНАЯРБН НРЯСРЯРБХЪ МЕНАУНДХЛНЯРХ НЯБНАНФДЕМХЪ ОЮЛЪРХ. хЯОНКЭГСИРЕ malloc Х free.

еЯКХ Ъ АСДС ДНКФЕМ ОЕПЕТНПЛЮРХПНБЮРЭ БЮЬ ЙНД Б ДСУЕ, ОПХМЪРНЛ Б gawk, Ъ ЛНЦС МЕ ГЮУНРЕРЭ БНГХРЭЯЪ Я МХЛ.

4. аСДЭРЕ ЦНРНБШ ОНДОХЯЮРЭ ЯННРБЕРЯРБСЧЫСЧ ЯРЮРЭЧ. дКЪ РНЦН, ВРНАШ FSF ОНЯРЮБКЪКН БЮЬХ ХГЛЕМЕМХЪ, БШ ДНКФМШ НОСАКХЙНБЮРЭ ЩРХ ХГЛЕМЕМХЪ, ОПЕДЯРЮБХБ ОНДОХЯЮММШИ ДНЙСЛЕМР РЮЙНЦН ПНДЮ, ХКХ ОЕПЕДЮРЭ ОПЮБЮ МЮ ОСАКХЙЮЖХЧ Б FSF. нАЮ ЩРХ ДЕИЯРБХЪ КЕЦЙН НЯСЫЕЯРБХРЭ, Х ЛМНЦХЕ ЮБРНПШ ЩРН СФЕ ЯДЕКЮКХ. еЯКХ С БЮЯ ЕЯРЭ БНОПНЯШ, ОНФЮКСИЯРЮ БНИДХРЕ Б ЙНМРЮЙР ЯН ЛМНИ (ЯЛ. ПЮГДЕК B.7 [яННАЫЕМХЪ Н ЙНККХГХЪУ Х НЬХАЙЮУ], ЯРП. 292), ХКХ Я gnu@gnu.org.

5. хЯОПЮБЭРЕ ДНЙСЛЕМРЮЖХЧ. бЛЕЯРЕ Я БЮЬХЛ МНБШЛ ЙНДНЛ ОПХЬКХРЕ ОНФЮКСИЯРЮ МНБШЕ ПЮГДЕКШ ХКХ ЦКЮБШ Й ЩРНИ ЙМХЦЕ. еЯКХ БНГЛНФМН, БНЯОНКЭГСИРЕЯЭ Texinfo, БЛЕЯРН ОПЕДЯРЮБКЕМХЪ МЕТНПЛЮРМНЦН РЕЙЯРЮ ASCII (УНРЪ Х ЩРН КСВЬЕ, ВЕЛ ЯНБЯЕЛ МХЙЮЙНИ ДНЙСЛЕМРЮЖХХ). яНЦКЮЬЕМХЪ, ЙНРНПШЕ ХЯОНКЭГСЧРЯЪ Б щТТЕЙРХБМНЛ AWK-ОПНЦПЮЛЛХПНБЮМХХ, ОНЛЕЫЕМШ ОНЯКЕ `@bye' Б ЙНМЖЕ Texinfo source file. еЯКХ ЛНФМН, БМЕЯХРЕ ХГЛЕМЕМХЪ Х Б ЯОПЮБНВМХЙ man page.

бШ ДНКФМШ АСДЕРЕ РЮЙФЕ ОНДОХЯЮРЭ ОХЯЭЛЕММСЧ ЯРЮРЭЧ ОН БЮЬХЛ ХГЛЕМЕМХЪЛ Б ДНЙСЛЕМРЮЖХХ.

6. яНЦКЮЯСИРЕ ХГЛЕМЕМХЪ Я context diffs ХКХ unified diffs. хЯОНКЭГСИРЕ `diff -c -r -N' ХКХ `diff -u -r -N' ДКЪ ЯПЮБМЕМХЪ НПХЦХМЮКЭМНЦН ДЕПЕБЮ gawk Я БЮЬЕИ БЕПЯХЕИ. (ъ ЯВХРЮЧ context diffs АНКЕЕ СДНАНВХРЮЕЛШЛ, Ю unified diffs АНКЕЕ ЙНЛОЮЙРЕМ.) пЕЙНЛЕМДСЧ ХЯОНКЭГНБЮРЭ БЕПЯХЧ GNU diff. оЕПЕЬКХРЕ ЛМЕ ПЕГСКЭРЮРШ, БШДЮММШЕ ЙЮЙХЛ-МХАСДЭ ХЯОНКМЕМХЕЛ diff ОНЯКЕ ЯНЦКЮЯНБЮМХЪ. яЛ. ПЮГДЕК B.7 [яННАЫЕМХЪ Н ЙНККХГХЪУ Х НЬХАЙЮУ], ЯРП. 292, НА ХМТНПЛЮЖХХ ОН ЩКЕЙРПНММНИ ОНВРЕ. хЯОНКЭГНБЮМХЕ МЮГБЮММНЦН ТНПЛЮРЮ НАКЕЦВХР ЛМЕ БМЕЯЕМХЕ БЮЬХУ ХГЛЕМЕМХИ Б ЩРЮКНММСЧ БЕПЯХЧ ХЯУНДМНЦН ЙНДЮ gawk (СЯРЮМНБЙС ГЮОКЮРЙХ). еЯКХ Ъ АСДС ДНКФЕМ ОПНХГБЕЯРХ БЯРЮБЙС БПСВМСЧ, ХЯОНКЭГСЪ РЕЙЯРНБШИ ПЕДЮЙРНП, Ъ ЛНЦС ЩРНЦН МЕ ЯДЕКЮРЭ, НЯНАЕММН ОПХ МЮКХВХХ ЛМНФЕЯРБЮ ХГЛЕМЕМХИ.

уНРЪ БЯЕ ЩРН ГБСВХР ЙЮЙ ЙСВЮ ПЮАНРШ, ОНЛМХРЕ, ВРН БШ РНКЭЙН ОХЬЕРЕ МНБШИ ЙНД, Ю Ъ ДНКФЕМ ЕЦН ОНМЪРЭ Х ОНДДЕПФЮРЭ, Х ЕЯКХ ЩРН МЕБНГЛНФМН ЯДЕКЮРЭ Я ЛХМХЛСЛНЛ КХЬМЕИ ПЮАНРШ, Ъ ЛНЦС НРЙЮГЮРЭЯЪ НР ЩРНЦН.

C.2.2 оЕПЕМНЯ gawk Б МНБСЧ НОЕПЮЖХНММСЧ ЯХЯРЕЛС

б МЮВЮКН ЯРПЮМХЖШ

еЯКХ БШ УНРХРЕ ОЕПЕМЕЯРХ gawk Б МНБСЧ НОЕПЮЖХНММСЧ ЯХЯРЕЛС, ХЛЕЕРЯЪ МЕЯЙНКЭЙН ЯРЮДХИ Б ЩРНЛ ОПНЖЕЯЯЕ.

1. яКЕДСИРЕ НАЫХЛ СЙЮГЮМХЪЛ ПЮГДЕКЮ C.2.1 [дНАЮБКЕМХЕ МНБШУ ЯБНИЯРБ], ЯРП. 295, ЙЮЯЮЧЫХУЯЪ ЯРХКЪ ЙНДХПНБЮМХЪ, ОНДВХМЕМХЪ diffs, Х ОП.

2. дЕКЮЪ ОЕПЕМНЯ, ХЛЕИРЕ ББХДС, ВРН БЮЬ ЙНД ДНКФЕМ ЛХПМН ЯНЯСЫЕЯРБНБЮРЭ Я НЯРЮКЭМШЛ gawk Х Я ДПСЦХЛХ ОЕПЕМНЯЮЛХ. хГАЕЦЮИРЕ АЕЯОПХВХММШУ ХГЛЕМЕМХИ МЕ ГЮБХЯЪЫХУ НР ЯХЯРЕЛШ ВЮЯРЕИ ЙНДЮ. еЯКХ ЩРН БНГЛНФМН, ХГАЕЦЮИРЕ КХЬМХУ `#ifdef' Б ОЕПЕМНЯХЛНЛ ЙНДЕ.

еЯКХ ХГЛЕМЕМХЪ, МЕНАУНДХЛШЕ ДКЪ ЙНМЙПЕРМНИ ЯХЯРЕЛШ, ГЮУБЮРШБЮЧР АНКЭЬСЧ ВЮЯРЭ ЙНДЮ, Ъ АШ МЕ ОНДДЕПФЮК ЩРНЦН. б РЮЙНЛ ЯКСВЮЕ БШ, ЙНМЕВМН, ЛНФЕРЕ ПЮЯОПНЯРПЮМЪРЭ БЮЬХ ХГЛЕМЕМХЪ ЯЮЛНЯРНЪРЕКЭМН, ОНЙЮ БШ ЯНЦКЮЯСЕРЕ ЯБНХ ДЕИЯРБХЪ Я GPL (ЯЛ. [GNU GENERAL PUBLIC LICENSE], ЯРП. 309).

3. мЕЙНРНПШЕ ТЮИКШ, ОНЯРЮБКЪЕЛШЕ Я gawk, ЙСПХПСЧРЯЪ ДПСЦХЛХ КХЖЮЛХ ХГ Free Software Foundation. оНЩРНЛС БШ МЕ ДНКФМШ ХГЛЕМЪРЭ ХУ, ЕЯКХ ДКЪ ЩРНЦН МЕР БЕЯЭЛЮ БЕЯЙХУ ОПХВХМ. р.Е., УНРЪ ХГЛЕМЕМХЪ Х МЕ МЕБНГЛНФМШ, НМХ АСДСР ОНДВХМЕМШ БЕЯЭЛЮ ЯРПНЦХЛ ПЮЯЯЛНРПЕМХЪЛ. щРН ТЮИКШ `alloca.c', `getopt.h', `getopt.c', `getopt1.c', `regex.h', `regex.c', `dfa.h', `dfa.c', `install-sh' Х `mkinstalldirs'.

4. аСДЭРЕ ЦНРНБШ ОПНДНКФЮРЭ ОНДДЕПФХБЮРЭ ЩРНР ОЕПЕМНЯ. мЕ-Unix НОЕПЮЖХНММШЕ ЯХЯРЕЛШ ОНДДЕПФХБЮЧРЯЪ ДНАПНБНКЭЖЮЛХ, ЙНРНПШЕ ЯКЕДЪР ГЮ ЙНДЮЛХ, МЕНАУНДХЛШЛХ ДКЪ ЙНЛОХКЪЖХХ Х ХЯОНКМЕМХЪ gawk МЮ РЮЙХУ ЯХЯРЕЛЮУ. еЯКХ МХ НДХМ ДНАПНБНКЕЖ МЕ АСДЕР ЙСПХПНБЮРЭ ОЕПЕМНЯ, НМ НЯРЮМЕРЯЪ АЕГ ОНДДЕПФЙХ, Х ЛНФЕР НЙЮГЮРЭЯЪ МЕНАУНДХЛШЛ ХЯЙКЧВХРЭ ЕЦН ХГ ОНЯРЮБНЙ.

5. оПХЦНРНБЭРЕ ЯННРБЕРЯРБСЧЫХИ `gawkmisc.???' ТЮИК. йЮФДШИ ОЕПЕМНЯ ХЛЕЕР ЯБНИ `gawkmisc.???', ЙНРНПШИ ПЕЮКХГСЕР МЕЙНРНПШЕ ЯОЕЖХТХВЕЯЙХЕ ТСМЙЖХХ НОЕПЮЖХНММНИ ЯХЯРЕЛШ. щРН КСВЬЕ ВЕЛ ЙСВЮ `#ifdef', ПЮГАПНЯЮММШУ ОН ЙНДС. тЮИК `gawkmisc.c' Б ЦКЮБМНЛ ХЯУНДМНЛ ЙЮРЮКНЦЕ БЙКЧВЮЕР ЯННРБЕРЯРБСЧЫХИ `gawkmisc.???' ТЮИК ХГ ЙЮФДНЦН ОНДЙЮРЮКНЦЮ. мЕ ГЮАСДЭРЕ НРПЕДЮЙРХПНБЮРЭ РЮЙФЕ Х ЕЦН.

йЮФДШИ ТЮИК `gawkmisc.???' ОЕПЕМНЯЮ ХЛЕЕР ЯСТТХЙЯ, МЮОНЛХМЮЧЫХИ Н ЛЮЬХМЕ ХКХ НОЕПЮЖХНММНИ ЯХЯРЕЛЕ ДКЪ ОЕПЕМНЯЮ. мЮОПХЛЕП, `pc/gawkmisc.pc' Х `vms/gawkmisc.vms'. хЯОНКЭГНБЮМХЕ НРДЕКЭМШУ ЯСТТХЙЯНБ БЛЕЯРН ОПНЯРНЦН `gawkmisc.c' ДЕКЮЕР БНГЛНФМШЛ ОЕПЕДБХЦЮРЭ ТЮИКШ ХГ ОНДЙЮРЮКНЦЮ ОЕПЕМНЯЮ Б ЦКЮБМШИ ОНДЙЮРЮКНЦ АЕГ ЯКСВЮИМНИ ОНПВХ МЮЯРНЪЫЕЦН ТЮИКЮ `gawkmisc.c'. (б МЮЯРНЪЫЕЕ БПЕЛЪ ЩРН ЯДЕКЮМН РНКЭЙН Б БШОСЯЙЕ ДКЪ ОЕПЕМНЯНБ МЮ MS-DOS Х OS/2.)

6. нАЕЯОЕВЭРЕ `Makefile' Х БЯЕ ДПСЦХЕ CХ ХЯУНДМШЕ Х header-ТЮИКШ, ЙНРНПШЕ МЕНАУНДХЛШ ДКЪ БЮЬЕИ НОЕПЮЖХНММНИ ЯХЯРЕЛШ. бЕЯЭ БЮЬ ЙНД ДНКФЕМ АШРЭ Б НРДЕКЭМНЛ ОНДЙЮРЮКНЦЕ Я ХЛЕМЕЛ, ЙНРНПНЕ ЯНБОЮДЮЕР ХКХ МЮОНЛХМЮЕР БЮЬС БШВХЯКХРЕКЭМСЧ ХКХ НОЕПЮЖХНММСЧ ЯХЯРЕЛС. еЯКХ ЛНФМН, ЯРЮПЮИРЕЯЭ ЯРПСЙРСПХПНБЮРЭ НАЗЕЙРШ РЮЙ, ВРН МЕ АСДЕР МЕНАУНДХЛНЯРХ ОЕПЕМНЯХРЭ ТЮИКШ ХГ ОНДЙЮРЮКНЦЮ Б ЦКЮБМШИ ХЯУНДМШИ ЙЮРЮКНЦ. еЯКХ РЮЙНЕ МЕБНГЛНФМН, РНЦДЮ НАЪГЮРЕКЭМН МЕ ХЯОНКЭГСИРЕ ДКЪ БЮЬХУ ТЮИКНБ ХЛЕМЮ, ЯНБОЮДЮЧЫХЕ Я ХЛЕМЮЛХ ТЮИКНБ Б ЦКЮБМНЛ ХЯУНДМНЛ ЙЮРЮКНЦЕ.

7. нАМНБХРЕ ДНЙСЛЕМРЮЖХЧ. яНЯРЮБЭРЕ ПЮГДЕК (ХКХ ПЮГДЕКШ) ДКЪ ЩРНИ ЙМХЦХ, НОХЯШБЮЧЫХЕ СЯРЮМНБНВМШЕ Х ЙНЛОХКЪЖХНММШЕ ЬЮЦХ, МЕНАУНДХЛШЕ ДКЪ СЯРЮМНБЙХ Х/ХКХ ЙНЛОХКЪЖХХ gawk ДКЪ БЮЬЕИ ЯХЯРЕЛШ.

8. оПХЦНРНБЭРЕЯЭ ОНДОХЯЮРЭ ЯННРБЕРЯРБСЧЫХЕ ЯРЮРЭХ. дКЪ РНЦН, ВРНАШ FSF ПЮЯОПНЯРПЮМЪКН БЮЬХ ЙНДШ, БШ ДНКФМШ ХКХ ОНЛЕЯРХРЭ БЮЬ ЙНД Б ОСАКХВМСЧ НАКЮЯРЭ Х ОПЕДЯРЮБХРЭ ОНДОХЯЮММНЕ ОНДРБЕПФДЕМХЕ ЩРНЦН, ХКХ ОЕПЕДЮРЭ ОПЮБЮ МЮ ОСАКХЙЮЖХЧ БЮЬЕЦН ЙНДЮ Б FSF.

яКЕДНБЮМХЕ ЩРХЛ ЯНБЕРЮЛ ГМЮВХРЕКЭМН НАКЕЦВХР ХМРЕЦПЮЖХЧ БЮЬХУ ДНАЮБКЕМХИ Б gawk Х ДЮЯР ХЛ БНГЛНФМНЯРЭ ЯВЮЯРКХБН ЯНЯСЫЕЯРБНБЮРЭ Я ЙНДЮЛХ ДКЪ ДПСЦХУ НОЕПЮЖХНММШУ ЯХЯРЕЛ, ЦДЕ gawk СФЕ ПЮАНРЮЕР.

б ЙНДЕ, ЙНРНПШИ БШ ОПЕДНЯРЮБХКХ Х ЙНРНПШИ БШ ОНДДЕПФХБЮЕРЕ, БШ ЛНФЕРЕ ЯБНАНДМН ХЯОНКЭГНБЮРЭ РНР ЯРХКЭ ЙНДХПНБЮМХЪ Х ПЮЯОНКНФЕМХЪ ЯЙНАНЙ, ЙНРНПШИ БЮЛ АНКЭЬЕ ОН БЙСЯС.

C.3 бЕПНЪРМШЕ АСДСЫХЕ ПЮЯЬХПЕМХЪ

б МЮВЮКН ЯРПЮМХЖШ

ъГШЙ AWK ОНДНАЕМ ЪГШЙС PERL, НМ РНКЭЙН ГМЮВХРЕКЭМН АНКЕЕ ЩКЕЦЮМРЕМ. Arnold Robbins.

гДНПНБН! Larry Wall

щРНР ПЮГДЕК ЙНПНРЙН ОЕПЕВХЯКЪЕР ПЮЯЬХПЕМХЪ Х БНГЛНФМШЕ СКСВЬЕМХЪ Б МЮОПЮБКЕМХЪУ, ОКЮМХПСЕЛШУ Б МЮЯРНЪЫЕЕ БПЕЛЪ ДКЪ gawk. тЮИК `FUTURES' Б ОНЯРЮБЙЕ gawk РЮЙФЕ ЯНДЕПФХР ЩРХ ПЮЯЬХПЕМХЪ.

бНР ЯОХЯНЙ БЕПНЪРМШУ АСДСЫХУ ХГЛЕМЕМХИ, ЙНРНПШЕ АСДСР ХЯОНКЭГНБЮРЭЯЪ РЕЛХ, ЙРН ОПНЦПЮЛЛХПСЕР МЮ ЪГШЙЕ awk.

кНЙЮКХГЮЖХЪ
оПНЕЙР GNU МЮВХМЮЕР СОНРПЕАКЕМХЕ ЛМНЦХУ ЪГШЙНБ. оН ЙПЮИМЕИ ЛЕПЕ АСДЕР БНГЛНФМН ГЮЯРЮБХРЭ gawk ОЕВЮРЮРЭ ЕЕ ОПЕДНЯРЕПЕФЕМХЪ Х ЯННАЫЕМХЪ НА НЬХАЙЮУ МЮ ЪГШЙЮУ, НРКХВМШУ НР ЮМЦКХИЯЙНЦН. щРН ЛНФЕР АШРЭ НЯСЫЕЯРБКЕМН МЕГЮБХЯХЛН НР ЯЮЛНИ ОПНЦПЮЛЛШ gawk.

аЮГШ ДЮММШУ
бНГЛНФМН ОПЕНАПЮГНБЮМХЕ ТЮИКЮ GDBM/NDBM/SDBM Б ЛЮЯЯХБ awk.

лЮЯЯХБ PROCINFO
яОЕЖХЮКЭМШЕ ТЮИКШ, ЙНРНПШЕ ЯМЮАФЮЧР НРМНЯЪЫЕИЯЪ Й ОПНЖЕЯЯС ХМТНПЛЮЖХЕИ (ЯЛ. ПЮГДЕК 6.7 [яОЕЖХЮКЭМШЕ ХЛЕМЮ ТЮИКНБ Б gawk], ЯРП. 72) ЛНЦСР АШРЭ БШРЕЯМЕМШ ЛЮЯЯХБНЛ PROCINFO, ЙНРНПШИ АСДЕР ЯНДЕПФЮРЭ РС ФЕ ХМТНПЛЮЖХЧ, МН Б АНКЕЕ КЕЦЙНИ ДКЪ ДНЯРСОЮ ТНПЛЕ.

сОПЮБКЕМХЕ НЙПСФЕМХЕЛ ОНДОПНЖЕЯЯНБ
хГЛЕМЕМХЪ, БМЕЯЕММШЕ Б gawk ДКЪ ЛЮЯЯХБЮ ENVIRON, ЛНЦСР АШРЭ ПЮЯОПНЯРПЮМЕМШ МЮ ОНДОПНЖЕЯЯШ, ГЮОСЯЙЮЕЛШЕ gawk.

бНР ЯОХЯНЙ БЕПНЪРМШУ СЯНБЕПЬЕМЯРБНБЮМХИ, СБЕКХВХБЮЧЫХУ ОПНХГБНДХРЕКЭМНЯРЭ gawk.

сКСВЬЕММЮЪ БЕПЯХЪ dfa
оПНЦПЮЛЛЮ dfa ОНХЯЙЮ ЯННРБЕРЯРБХЪ НАПЮГЖЮЛ ХГ GNU grep ХЛЕЕР ПЪД МЕДНЯРЮРЙНБ. кХАН МНБЮЪ БЕПЯХЪ, КХАН ХЯОПЮБКЕММЮЪ ЯРЮПЮЪ АСДЕР ПЮАНРЮРЭ Я МЕЙНРНПШЛХ БЮФМШЛХ ЯКСВЮЪЛХ regexp.

хЯОНКЭГНБЮМХЕ GNU malloc
бЕПЯХЪ GNU ЩРНИ ТСМЙЖХХ ОНРЕМЖХЮКЭМН ЛНФЕР СЯЙНПХРЭ gawk, ОНЯЙНКЭЙС ХМРЕМЯХБМН ХЯОНКЭГСЕР ДХМЮЛХВЕЯЙНЕ ПЮЯОПЕДЕКЕМХЕ ОЮЛЪРХ.

C.4 оПЕДКНФЕМХЪ ОН СЯНБЕПЬЕМЯРБНБЮМХЧ

б МЮВЮКН ЯРПЮМХЖШ

оПХБЕДЕЛ МЕЯЙНКЭЙН ОПНЕЙРНБ, ЙНРНПШЕ ЛНЦСР ОНМПЮБХРЭЯЪ АСДСЫХЛ gawk УЮЙЕПЮЛ. нМХ ЛНЦСР ОНРПЕАНБЮРЭ НР МЕЯЙНКЭЙХУ ДМЕИ Х ДН МЕДЕКЭ ДКЪ ОПНЦПЮЛЛХПНБЮМХЪ, Б ГЮБХЯХЛНЯРХ НР РНЦН, ВРН БШ БШАЕПЕРЕ Х МЮЯЙНКЭЙН АШЯРПШЛ ОПНЦПЮЛЛХЯРНЛ ЪБКЪЕРЕЯЭ. оНЯШКЮИРЕ МЮОХЯЮММШЕ БЮЛХ СЯНБЕПЬЕМЯРБНБЮМХЪ ЙСПЮРНПЮЛ ОПНЕЙРНБ Б GNU. яЛ. ПЮГДЕК C.2.1 [дНАЮБКЕМХЕ МНБШУ ЯБНИЯРБ], ЯРП. 295, Я НОХЯЮМХЕЛ ОПЮБХК ДНАЮБКЕМХЪ МНБШУ БНГЛНФМНЯРЕИ Б gawk. яЛ. РЮЙФЕ ПЮГДЕК B.7 [яННАЫЕМХЪ НА ЙНМТКХЙРЮУ Х НЬХАЙЮУ], ЯРП. 292, ОН ОНБНДС ЙНМРЮЙРНБ Я ЙСПЮРНПЮЛХ.

1. йНЛОХКЪЖХЪ ОПНЦПЮЛЛ awk.
gawk ХЯОНКЭГСЕР ЮМЮКХГЮРНП Bison (YACC-like), ОПЕБПЮЫЮЧЫХИ БУНДМНИ ЯЖЕМЮПХИ Б ЯХМРЮЙЯХВЕЯЙНЕ ДЕПЕБН; ЩРН ДЕПЕБН ОНРНЛ ХЯОНКМЪЕРЯЪ ОПНЯРШЛ ПЕЙСПЯХБМШЛ ХЯОНКМХРЕКЕЛ. щРНР ЛЕРНД РПЕАСЕР ЛМНЦН КХЬМХУ ДЕИЯРБХИ, РЮЙ ЙЮЙ ПЕЙСПЯХБМШИ ХЯОНКМХРЕКЭ БШГШБЮЕР ЛМНФЕЯРБН ОПНЖЕДСП ДЮФЕ Б ОПНЯРЕИЬХУ ЯКСВЮЪУ.

мСФМН, ВРНАШ gawk ОПЕБПЮЫЮКЮ ДЕПЕБН ПЮГАНПЮ ЯЖЕМЮПХЪ Б яХ-ОПНЦПЮЛЛС, ЙНРНПСЧ ОНКЭГНБЮРЕКЭ ЛНЦ АШ ОНРНЛ ЙНЛОХКХПНБЮРЭ, ХЯОНКЭГСЪ НАШВМШИ яХ-ЙНЛОХКЪРНП Х ЯОЕЖХЮКЭМСЧ АХАКХНРЕЙС, ЯНДЕПФЮЫСЧ БЯЕ МСФМШЕ ТСМЙЖХХ (regexps, fields, associative arrays, type coercion, Х Р.Д.).

аНКЕЕ КЕЦЙНИ БНГЛНФМНЯРЭЧ ЛНФЕР АШРЭ ОПНЛЕФСРНВМЮЪ ТЮГЮ awk ОПЕБПЮЫЕМХЪ ДЕПЕБЮ ПЮГАНПЮ Б КХМЕИМСЧ АЮИРНБСЧ ТНПЛС, ОНДНАМСЧ РНИ, ЙНРНПЮЪ ХЯОНКЭГСЕРЯЪ Б GNU Emacs Lisp. рНЦДЮ ПЕЙСПЯХБМШИ ХЯОНКМХРЕКЭ ЛНФЕР АШРЭ ГЮЛЕМЕМ ОПНЯРШЛ ХМРЕПОПЕРЮРНПНЛ, ВРН ДЮЯР ЯЙНПНЯРЭ, ОПНЛЕФСРНВМСЧ ЛЕФДС ХЯОНКМЕМХЕЛ ЯЙНЛОХКХПНБЮММНИ ОПНЦПЮЛЛШ Х РЕЛ, ЙЮЙ gawk ПЮАНРЮЕР ЯЕИВЮЯ.

2. вРНАШ ОПНЦПЮЛЛШ Б ЙНЛОКЕЙРЕ РЕЯРНБ ЛНЦКХ ХЯОНКЭГНБЮРЭ ДНЙСЛЕМРЮЖХЧ ХГ ЩРНИ ЙМХЦХ.

3. яЛ. ТЮИК `FUTURES' ДКЪ МЮУНФДЕМХЪ ДПСЦХУ ХДЕИ. бЯРСОХРЕ Б ЙНМРЮЙР Я МЮЛХ, ЕЯКХ БШ ЯЕПЭЕГМН УНРХРЕ ГЮМЪРЭЯЪ НДМНИ ХГ МЮГБЮММШУ ГДЕЯЭ ГЮДЮВ.

б МЮВЮКН ЯРПЮМХЖШ

<<< нЦКЮБКЕМХЕ яРПЮМХЖЮ: оПХКНФЕМХЕ C  оПХКНФЕМХЕ D. >>>
цКЮБМЮЪ мНБНЯРХ пЕЦХЯРПЮЖХЪ Б ЙКЮЯЯЕ оПНЦПЮЛЛМНЕ НАЕЯОЕВЕМХЕ оЮПЮККЕКЭМШЕ БШВХЯКЕМХЪ дНЙСЛЕМРЮЖХЪ FAQ ОН ЙКЮЯЯС

HIVE: All information for read only. Please respect copyright!
Hosted by hive йца: йХЕБЯЙЮЪ ЦНПНДЯЙЮЪ АХАКХНРЕЙЮ