Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π˜ΡΠΊΡƒΡΡΡ‚Π²ΠΎ программирования для UnixΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 73

Автор Π Π΅ΠΉΠΌΠΎΠ½Π΄ Π­Ρ€ΠΈΠΊ Π‘Ρ‚ΠΈΠ²Π΅Π½

Π₯отя troff сам ΠΏΠΎ сСбС прСдставляСт собой спСциализированный ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΌΠΈΠ½ΠΈ-язык, ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΈΠ΄Π΅ΠΉ, которая "ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚" ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Ρ‡Π΅Ρ€Π΅Π· 3 ΠΌΠΈΠ½ΠΈ-языка Π² DWB, являСтся дСкларативная сСмантика: ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π½Π° основС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… условий. Данная идСя Ρ‚Π°ΠΊΠΆΠ΅ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Π° для соврСмСнных GUI-инстру-ΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π². ВмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ пиксСлСй для графичСских ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², СдинствСнноС, Ρ‡Ρ‚ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ трСбуСтся ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ β€” это ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ пространствСнныС взаимозависимости ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ ("элСмСнт управлСния А располоТСн Π²Ρ‹ΡˆΠ΅ элСмСнта Π’, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ находится слСва ΠΎΡ‚ элСмСнта Π‘"), Π° Π·Π°Ρ‚Π΅ΠΌ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠ΅Π΅ располоТСниС элСмСнтов А, Π’ ΠΈ Π‘, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌ условиям.

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ pic( 1) Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ элСмСнтов Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классификации языков Π½Π° рис. 8.1 Π±Ρ‹Π»Π° создана Π½Π° основС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ 8.463 исходного pic-ΠΊΠΎΠ΄Π°, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ pic2graph, которая Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π»Π°ΡΡŒ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΡƒΡ‡Π΅Π±Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Π³Π»Π°Π²Ρ‹ 7.

Π­Ρ‚ΠΎ вСсьма типичная для Unix конструкция ΠΌΠΈΠ½ΠΈ-языка, ΠΈ ΠΊΠ°ΠΊ таковая ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ‚ нСсколько интСрСсных ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ² Π΄Π°ΠΆΠ΅ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ синтаксиса. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Π΅Π΅ сходство с shell-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ: ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с символа #, Π° синтаксис, ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ Π½Π° основС лСксСм ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ соглашСниС для строк. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ pic(1) Π·Π½Π°Π», Ρ‡Ρ‚ΠΎ Unix-программисты ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‚ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ этому синтаксис ΠΌΠΈΠ½ΠΈ-языков, Ссли Π½Π΅ сущСствуСт Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈ спСцифичСской ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ этого. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС Π² ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅ выполняСтся ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ наимСньшСй нСоТиданности.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 8.4. pic-ΠΊΠΎΠ΄ для схСмы классификации языков

#Β Minilanguage taxonomy (классификация ΠΌΠΈΠ½ΠΈ-языков)

#

#Β Base ellipses (основныС элипсы)

define smallellipse {ellipse width 3.0 height 1.5} M: ellipse width 3.0 height 1.8 fill 0.2 line from M.n to M.s dashed D: smallellipse() with .e at M.w + (0.8, 0) line from D.n to D.s dashed

I: smallellipse() with .w at M.e - (0.8, 0)

#

# Captions (подписи) "" "Data formats" at D.s "" "Minilanguages" at M.s

«« "interpreters" at I.в #

#Β Heads (Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ)

arrow from D.w + (0.4, 0.8) to D.e + (-0.4, 0.8) "flat to structured" "" at last arrow.с

arrow from M.w + (0.4, 1.0)Β to M.e + (-0.4, 1.0)

"declarative to imperative" "" at last arrow.с

arrow from I.w + (0.4, 0.8)Β to I.e + (-0.4, 0.8)

"less to more general" "" at last arrow.с

#

#Β The arrow of loopiness (стрСлка развития Ρ†ΠΈΠΊΠ»ΠΎΠ²) arrow from D.w + (0, 1.2) to I.e + (0, 1.2)

"increasing loopiness" "" at last arrow.с

#

#Β Flat data files (плоскиС Ρ„Π°ΠΉΠ»Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…) "/etc/passwd" ".newsrc" at 0.5 between D.c and D.w

#Β Structured data files (структурированныС Ρ„Π°ΠΉΠ»Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…) "SNG" at 0.5 between D.c and M.w

#Β Datafile/minilanguage borderline cases (ΠΏΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹Π΅ случаи Ρ„Π°ΠΉΠ»Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…/ΠΌΠΈΠ½ΠΈ-язык)

"regexps" "Glade" at 0.5 between M.w and D.e

#Β Declarative minilanguages (Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΌΠΈΠ½ΠΈ-языки) "m4" "Yacc" "Lex" "make" "XSLT" "pic" "tbl" "eqn" \

at 0.5 between M.с and D.e

#Β Imperative minilanguages (ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΌΠΈΠ½ΠΈ-языки) "fetchmail" "awk" "troff" "Postscript" at 0.5 between M.c and I.w

#Β Minilanguage/interpreter borderline cases (ΠΏΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹Π΅ случаи ΠΌΠΈΠ½ΠΈ-язык/ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€)

"dc" "be" at 0.5 between I.w and M.e

#Β Interpreters (ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹)

"Emacs Lisp" "JavaScript" at 0.25 between M.e and I.e

"sh" "tel" at 0.55 between M.e and I.e

"Perl" "Python" "Java" at 0.8 between M.e and I.e

ΠšΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡ макросов с ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΎΠΉ Π½Π° основС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… условий позволяСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ pic(1) Π²Ρ‹Ρ€Π°ΠΆΠ°Ρ‚ΡŒ структуру Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ Ρ‚Π°ΠΊΠΈΠΌ способом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ нСдоступСн для Π±ΠΎΠ»Π΅Π΅ соврСмСнных Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΎΠΊ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ SVG. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, благоприятно, Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· слСдствий конструкции Documenter's Workbench являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ использованиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ pic(1) Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ срСды DWB. Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ pic2graph, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π² качСствС ΡƒΡ‡Π΅Π±Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π² Π³Π»Π°Π²Π΅ 7, Π±Ρ‹Π» ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ создан для достиТСния этой Ρ†Π΅Π»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠ΄Π΅Ρ€Π½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… PostScript-возмоТностСй groff (1) ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ этап Π½Π° ΠΏΡƒΡ‚ΠΈ ΠΊ соврСмСнному растровому Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρƒ.

Π‘ΠΎΠ»Π΅Π΅ Ρ‡Π΅Ρ‚ΠΊΠΈΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ являСтся ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° pic2plot(1), распространяСмая с ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ GNU plotutils, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ использована внутрСнняя ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° GNU pic( 1). Код Π±Ρ‹Π» Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΡƒΡŽ синтаксичСский Π°Π½Π°Π»ΠΈΠ·, ΠΈ ΡΠ΅Ρ€Π²Π΅Ρ€Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ, Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽ troff-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ. ОбС части взаимодСйствовали посрСдством уровня Ρ‡Π΅Ρ€Ρ‚Π΅ΠΆΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ². ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ данная конструкция ΠΏΠΎΠ΄Ρ‡ΠΈΠ½ΡΠ»Π°ΡΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Ρƒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ, программисты pic2plot(1) ΠΈΠΌΠ΅Π»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΠΈΡ‚ΡŒ этап синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π° GNU pic ΠΈ Ρ€Π΅ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Ρ‚Π΅ΠΆΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ соврСмСнной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для построСния Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ². Однако ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ нСдостаток. ВСкст Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ гСнСрируСтся со встроСнными Π² pic2plot ΡˆΡ€ΠΈΡ„Ρ‚Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΡˆΡ€ΠΈΡ„Ρ‚Π°ΠΌ troff.

8.2.7. Π£Ρ‡Π΅Π±Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€: синтаксис ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° fetchmail

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 8.5.

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΌΠΈΠ½ΠΈ-язык. БущСствуСт ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΡ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ выполнСния: ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰Π°ΡΡΡ, цикличСская ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° списка ΠΊΠΎΠΌΠ°Π½Π΄ опроса ("Π·Π°ΡΡ‹ΠΏΠ°ΡŽΡ‰Π°Ρ" Π½Π° врСмя Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π°) ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ сбор ΠΏΠΎΡ‡Ρ‚Ρ‹ с ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… ΡƒΠ·Π»ΠΎΠ² для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, связанного с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ ΡƒΠ·Π»Π°ΠΌΠΈ. Π”Π°Π½Π½Ρ‹ΠΉ язык Π΄Π°Π»Π΅ΠΊ ΠΎΡ‚ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… языков. ВсС, Ρ‡Ρ‚ΠΎ ΠΎΠ½ способСн Π΄Π΅Π»Π°Ρ‚ΡŒ, β€” ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ опроса сСрвСров.

Как ΠΈ Π² случаС с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ pic( 1), Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΈΠ½ΠΈ-язык ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ объявлСния Π»ΠΈΠ±ΠΎ ΠΊΠ°ΠΊ слабый ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ язык ΠΈ бСсконСчно ΡΠΏΠΎΡ€ΠΈΡ‚ΡŒ ΠΎΠ± отличиях. Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны, Π² Π½Π΅ΠΌ Π½Π΅Ρ‚ Π½ΠΈ условных ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², Π½ΠΈ рСкурсии, Π½ΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ². ЀактичСски ΠΎΠ½ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ явных ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… структур. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, ΠΎΠ½ описываСт скорСС дСйствия, Ρ‡Π΅ΠΌ зависимости, Ρ‡Ρ‚ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΎΡ‚ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ синтаксиса, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ GUI-описаниям Glade.

#Β ΠžΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΉ ΡƒΠ·Π΅Π» Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΠΌ Π² Ρ†ΠΈΠΊΠ»Π΅.

#Β ΠŸΠ°Ρ€ΠΎΠ»ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ взят ΠΈΠ· Ρ„Π°ΠΉΠ»Π° -/.netrc poll mailhost.net with proto imap:

user esr is esr here

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΌΠΈΠ½ΠΈ-языки для слоТных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ часто пСрСходят эту Π³Ρ€Π°Π½ΠΈΡ†Ρƒ. Π”Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΊΡ‚ подчСркиваСтся здСсь ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ отсутствиС явных ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… структур Π² ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΌ ΠΌΠΈΠ½ΠΈ-языкС ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΠ»ΠΎΡΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ΠΌ, Ссли это позволяСт прСдмСтная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ синтаксиса . fetchmailrc являСтся использованиС Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ просто для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ язык спСцификаций Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΡ…ΠΎΠ΄ΠΈΠ» Π½Π° английский язык. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова "with" ΠΈ ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ слова "options" Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ фактичСски Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ, Π½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ описания для чтСния.

Π’Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ синтаксис называСтся синтаксичСским сахаром (syntactic sugar). Π”Π°Π½Π½ΠΎΠΌΡƒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρƒ сопутствуСт извСстноС высказываниС ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ "синтаксичСский сахар Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ€Π°ΠΊ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠΉ"64. Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ синтаксичСский сахар Π½Π΅ создавал трудностСй большС, Ρ‡Π΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΌΠ΅Ρ€Π΅Π½Π½ΠΎ.

Π’ Π³Π»Π°Π²Π΅ 9 ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ созданиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, управляСмых Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, способствуСт изящному Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ рСдактирования ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² fetchmail с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ графичСского интСрфСйса.