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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«UNIX β€” ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Π°Ρ срСда программирования». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 79

Автор Π‘Ρ€Π°ΠΉΠ°Π½ ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½

Π’Π½Π°Ρ‡Π°Π»Π΅ появилась eqn. Π­Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ yacc Π½Π΅ для Ρ†Π΅Π»Π΅ΠΉ программирования[18]. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° tbl, разработанная ΠΏΠΎΠ·Π΄Π½Π΅Π΅, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Π° eqn, хотя ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ нСзависимый синтаксис; tbl Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ yacc, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΅Π΅ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ° достаточно проста.

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

Однако организация взаимодСйствия ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Ρ‹ связана с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ. ΠžΡ‚Ρ‡Π°ΡΡ‚ΠΈ сниТаСтся быстродСйствиС, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ увСличиваСтся объСм Π²Π²ΠΎΠ΄Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π°: ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈ eqn, ΠΈ tbl Π΄Π°ΡŽΡ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ Π²Ρ…ΠΎΠ΄Π½ΠΎΠΌΡƒ Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ 8:1. Π•Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ сущСствСнно, Ρ‡Ρ‚ΠΎ информация ΠΈΠ΄Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ. НапримСр, Π½Π΅Ρ‚ способа опрСдСлСния Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΡˆΡ€ΠΈΡ„Ρ‚Π°, Ρ‡Ρ‚ΠΎ создаст нСудобства Π² пользовании языком. И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΠ½ΠΎΠ³Π΄Π° Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΡΠ²ΡΠ·Π°Ρ‚ΡŒ диагностику ΠΈΠ· troff с eqn ΠΈ tbl. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ прСимущСства раздСлСния Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ нСдостатки, поэтому Π±Ρ‹Π»ΠΎ написано нСсколько прСпроцСссоров, основанных Π½Π° этой ΠΌΠΎΠ΄Π΅Π»ΠΈ.

Π’Π°Π±Π»ΠΈΡ†Ρ‹

ΠžΠ±ΡΡƒΠ΄ΠΈΠΌ ΠΊΡ€Π°Ρ‚ΠΊΠΎ Ρ€Π°Π±ΠΎΡ‚Ρƒ tbl ΠΈ ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΏΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΊ hoc. tbl Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ свои Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ»ΠΈ стандартный Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡ‚ΠΎΠΊ ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ тСкст ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ .TS (Π½Π°Ρ‡Π°Π»ΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹) ΠΈ .Π’Π• (ΠΊΠΎΠ½Π΅Ρ† Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹) Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ troff, ΠΏΠ΅Ρ‡Π°Ρ‚Π°ΡŽΡ‰ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ столбцы ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ всС типографскиС Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹. Π‘Ρ‚Ρ€ΠΎΠΊΠΈ .TS ΠΈ .Π’Π• Ρ‚ΠΎΠΆΠ΅ ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ, поэтому ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΌΠ°ΠΊΡ€ΠΎΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ Π²Ρ‹Π΄Π°Π΅Ρ‚ для Π½ΠΈΡ… подходящиС опрСдСлСния с Ρ‚Π΅ΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ страницС ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡΡ‚ΡŒ Π΅Π΅ ΠΎΡ‚ ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰Π΅Π³ΠΎ тСкста.

ΠŸΡ€ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ слоТных Ρ‚Π°Π±Π»ΠΈΡ† Π²Π°ΠΌ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, придСтся ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ справочному руководству ΠΏΠΎ tbl. Π₯отя для уяснСния основных ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²ΠΏΠΎΠ»Π½Π΅ достаточно ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° (ΠΈΠ· Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΠΎ hoc).

.TS

center, box;

с s

lfCW 1

\fΠ’Π’Π°Π±Π»ΠΈΡ†Π° 1:\fP ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ порядку ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π°

.sp.5

^       Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ (\s-1FORTRAN\s0 **) правоассоциативна

!\-     одномСстныС логичСскоС ΠΈ арифмСтичСскоС отрицания

* /     ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π΄Π΅Π»Π΅Π½ΠΈΠ΅

+\-     слоТСниС, Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅

> >=    ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ: большС, большС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ < <= мСньшС, мСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ

\&== != Ρ€Π°Π²Π½ΠΎ, Π½Π΅ Ρ€Π°Π²Π½ΠΎ (всС ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π°)

&&      логичСскоС И (ΠΎΠ±Π° ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° всСгда Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ)

||      Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ Π˜Π›Π˜ (ΠΎΠ±Π° ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° всСгда Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ)

\&=     присваиваниС, правоассоциативна

.Π’Π•

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ:

Π’Π°Π±Π»ΠΈΡ†Π° 1: ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ порядку ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π° ^ Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ (FORTRAN **) правоассоциативна ! - одномСстныС логичСскоС ΠΈ арифмСтичСскоС отрицания * / ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π΄Π΅Π»Π΅Π½ΠΈΠ΅ + - слоТСниС, Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ > >= ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ: большС, большС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ < <= мСньшС, мСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ == != Ρ€Π°Π²Π½ΠΎ, Π½Π΅ Ρ€Π°Π²Π½ΠΎ (всС ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π°) && логичСскоС И (ΠΎΠ±Π° ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° всСгда Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ) !! логичСскоС Π˜Π›Π˜ (ΠΎΠ±Π° ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° всСгда Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ) = присваиваниС, правоассоциативна

Π‘Π»ΠΎΠ²Π° ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ с запятой ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ свойства Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹: Ρ†Π΅Π½Ρ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ Π½Π° страницС ΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² Ρ€Π°ΠΌΠΊΡƒ. Π”Ρ€ΡƒΠ³ΠΈΠ΅ срСдства Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ doublebox (ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²ΠΎΠΉΠ½ΡƒΡŽ Ρ€Π°ΠΌΠΊΡƒ), allbox (Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Π² Ρ€Π°ΠΌΠΊΡƒ) ΠΈ expand (Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π½Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ страницы).

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ строки Π΄ΠΎ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… сСкций Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. ΠŸΠ΅Ρ€Π²Π°Ρ спСцификация слуТит для ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, вторая для Π²Ρ‚ΠΎΡ€ΠΎΠΉ, послСдняя для всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… строк. Π’ Ρ‚Π°Π±Π». 1 Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π΅ строки спСцификаций, поэтому вторая спСцификация примСняСтся ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строкС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ постС ΠΏΠ΅Ρ€Π²ΠΎΠΉ. Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° для элСмСнтов Ρ†Π΅Π½Ρ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π² столбцС, с, r ΠΈ l для ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ ΠΈ Π»Π΅Π²ΠΎΠ³ΠΎ выравнивания ΠΈ n β€” для выравнивания чисСл ΠΏΠΎ дСсятичной Ρ‚ΠΎΡ‡ΠΊΠ΅. Π‘ΠΈΠΌΠ²ΠΎΠ» S опрСдСляСт столбСц с ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠΎΠΌ; Π² нашСм случаС 'c s' ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠ²ΠΊΡƒ названия Π½Π°Π΄ всСй Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ ΠΏΡƒΡ‚Π΅ΠΌ задания Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ столбца Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ. Для столбца ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΡˆΡ€ΠΈΡ„Ρ‚. БпСцификация tbl lfCW позволяСт ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ Π²Ρ‹Ρ€Π°Π²Π½Π΅Π½Π½Ρ‹ΠΉ ΠΏΠΎ Π»Π΅Π²ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ столбСц ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠΌ CW.

ВСкст Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ слСдуСт Π·Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ для форматирования. Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ табуляции Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ столбцы ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ troff, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ .sp, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ умСстны Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†. (ΠžΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ ΠΏΠ°Ρ€Ρƒ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ \&: Π½Π΅Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π½ΠΈΠΉ символ - ΠΈ Π·Π½Π°ΠΊ = Π² столбцах ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ tbl Π½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒ строки Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π² этой Ρ‚ΠΎΡ‡ΠΊΠ΅.)

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° tbl строит Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ Π½Π°Π±ΠΎΡ€ Ρ‚Π°Π±Π»ΠΈΡ†, Ρ‡Π΅ΠΌ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅: тСкст ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ Π² Ρ€Π°ΠΌΠΊΠΈ, ΠΌΠΎΠ³ΡƒΡ‚ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ столбцов ΠΈ Ρ‚.Π΄. Π‘Π°ΠΌΡ‹ΠΉ Π»Π΅Π³ΠΊΠΈΠΉ способ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ tbl для создания слоТных Ρ‚Π°Π±Π»ΠΈΡ† ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ справочному руководству ΠΏΠΎ UNIX (Ρ‚ΠΎΠΌ 2A) ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ пСрСчислСнныС Π² Π½Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ выраТСния

Π’Ρ‚ΠΎΡ€ΠΎΠΉ прСпроцСссор eqn ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ язык, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ матСматичСскиС выраТСния, Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ troff, Ρ‡Ρ‚ΠΎΠ±Ρ‹ эти выраТСния ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ. ΠŸΡ€Π΅ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ автоматичСски ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ смСны ΡˆΡ€ΠΈΡ„Ρ‚Π° ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΈ, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, прСдоставляСт ΠΈΠΌΠ΅Π½Π° для стандартных матСматичСских символов. Π’Ρ…ΠΎΠ΄Π½ΠΎΠΉ тСкст для eqn ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ находится ΠΌΠ΅ΠΆΠ΄Ρƒ строками .EQ ΠΈ .EN, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ tbl .TS ΠΈ .Π’Π•. НапримСр,

.EQ

x sub i

.EN

Π²Ρ‹Π΄Π°Ρ‘Ρ‚ xi. Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠ°ΠΊΠ΅Ρ‚ ms, ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ пСчатаСтся ΠΊΠ°ΠΊ "ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅", Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ .EQ опрСдСляСт Π½ΠΎΠΌΠ΅Ρ€ уравнСния. НапримСр, Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Π° Коши

записываСтся ΠΊΠ°ΠΊ

.EQ (9.1)

f( zeta ) ~=~ 1 over {2 pi i} int from Π‘

f(z) over {z - zeta} dz

.EN

Π’ основу языка eqn ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ способ чтСния вслух матСматичСских Ρ„ΠΎΡ€ΠΌΡƒΠ». ЕдинствСнноС Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ "Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€Π½ΠΎΠΉ" ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΎΠΉ ΠΈ Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌ тСкстом eqn состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ скобки { } ΠΎΡ‚ΠΌΠ΅Π½ΡΡŽΡ‚ Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΡ языка, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ скобки ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ смысла Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚. ΠŸΡ€ΠΎΠ±Π΅Π»Ρ‹ Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹. Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ zeta Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅, ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΎ ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ: ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова, Ρ‚Π°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ zeta ΠΈ over, Ρ€Π°ΡΠΏΠΎΠ·Π½Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½Ρ‹ ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ ΠΈΠ»ΠΈ скобками, Π½ΠΎ Π½ΠΈ Ρ‚Π΅, Π½ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π² Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ тСкст Π½Π΅ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ Π² Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ символ ~, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ (~=~). Для получСния скобок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ "{" ΠΈ "}".

БущСствуСт нСсколько классов ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов eqn. ГрСчСскиС Π±ΡƒΠΊΠ²Ρ‹ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ прописными ΠΈ строчными: lambda ΠΈ LAMBDA (Ξ» ΠΈ Ξ›). Π”Ρ€ΡƒΠ³ΠΈΠ΅ матСматичСскиС символы ΠΈΠΌΠ΅ΡŽΡ‚ ΠΈΠΌΠ΅Π½Π°, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ sum, int, infty, grad: Ξ£, ∫, ∞, βˆ‡. Π•ΡΡ‚ΡŒ Π·Π½Π°ΠΊΠΈ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ sub, sup, from, to, and, over:

Π­Ρ‚Π° Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° выводится Ρ‚Π°ΠΊ:

sum from i=0 to infinity x sub i sup 2~β†’~1 over {2pi}

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π·Π½Π°ΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Ρ‚ΠΈΠΏΠ° sqrt, Ρ€Π°ΡΡˆΠΈΡ€ΡΡŽΡ‰ΠΈΠ΅ скобки, Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки ΠΈ Ρ‚.Π΄. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° eqn, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² столбцы ΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹. ΠŸΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для управлСния ΡˆΡ€ΠΈΡ„Ρ‚Π°ΠΌΠΈ ΠΈ позициями, Ссли Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ установлСны ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π½Π΅ подходят.

Часто приходится ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ нСбольшиС матСматичСскиС выраТСния, Ρ‚Π°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ log10(x), Π² Ρ‚Π΅Π»ΠΎ тСкста, Π° Π½Π΅ Π² ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово eqn delim опрСдСляСт ΠΏΠ°Ρ€Ρƒ символов для выдСлСния ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… выстроСнных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ Π² качСствС Π»Π΅Π²ΠΎΠ³ΠΎ ΠΈ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅Π»Π΅ΠΉ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹: часто примСняСтся Π·Π½Π°ΠΊ Π΄ΠΎΠ»Π»Π°Ρ€Π° $. Но ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ hoc ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ $ для Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Π² нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΠ»ΠΈ @. Π‘ΠΈΠΌΠ²ΠΎΠ» % Ρ‚ΠΎΠΆΠ΅ ΡƒΠ΄ΠΎΠ±Π΅Π½ ΠΊΠ°ΠΊ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒ, Π½ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… символов ΠΈΠ·Π±Π΅Π³Π°ΠΉΡ‚Π΅: ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· Π½ΠΈΡ… ΠΈΠΌΠ΅ΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ назначСния Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…, поэтому Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΏΡ€ΠΎΠ²ΠΎΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ нСпрСдсказуСмоС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ eqn (ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ Ρƒ нас ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ с этим Ρ€Π°Π·Π΄Π΅Π»ΠΎΠΌ).