Добавил:
bagiwow
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
ѓ« ў 13. Љ®вҐЄбв®-бў®Ў®¤лҐ Ја ¬¬ вЁЄЁ.
13.1. Љ®вҐЄбв®-бў®Ў®¤лҐ Ја ¬¬ вЁЄЁ. ЋЎйЁ© «Ј®аЁв¬ а §-
Ў®а .
—в®Ўл ®ЇаҐ¤Ґ«Ёвм в®, зв® §лў ов Є®вҐЄбв®-бў®Ў®¤®©
Ја ¬¬ вЁЄ®© (Љ‘-Ја ¬¬ вЁЄ®©), ¤®:
( ) гЄ § вм Є®Ґз®Ґ ¬®¦Ґбвў® A, §лў Ґ¬®Ґ «д ўЁв®¬; ҐЈ®
н«Ґ¬Ґвл §лў ов бЁ¬ў®« ¬Ё; Є®ҐзлҐ Ї®б«Ґ¤®ў ⥫м®бвЁ бЁ¬ў®-
«®ў §лў ов б«®ў ¬Ё (ў ¤ ®¬ «д ўЁвҐ);
(Ў) а §¤Ґ«Ёвм ўбҐ бЁ¬ў®«л «д ўЁв A ¤ўҐ ЈагЇЇл: вҐа¬Ё-
«млҐ ("®Є®з ⥫млҐ") Ё ҐвҐа¬Ё «млҐ ("Їа®¬Ґ¦гв®злҐ");
(ў) ўлЎа вм б।Ё ҐвҐа¬Ё «мле бЁ¬ў®«®ў ®¤Ё, §лў Ґ¬л©
з «мл¬;
(Ј) гЄ § вм Є®Ґз®Ґ зЁб«® Їа ўЁ« Ја ¬¬ вЁЄЁ, Є ¦¤®Ґ Ё§ Є®-
в®але ¤®«¦® Ё¬Ґвм ўЁ¤
K -> X
Ј¤Ґ K - ҐЄ®в®ал© ҐвҐа¬Ё «мл© бЁ¬ў®«, X - б«®ў® (ў ҐЈ® ¬®-
Јг⠢室Ёвм Ё вҐа¬Ё «млҐ, Ё ҐвҐа¬Ё «млҐ бЁ¬ў®«л).
Џгбвм дЁЄбЁа®ў Љ‘-Ја ¬¬ вЁЄ (¬л з бв® Ўг¤Ґ¬ ®ЇгбЄ вм
ЇаЁбв ўЄг "Љ‘-", в Є Є Є ¤агЈЁе Ја ¬¬ вЁЄ г б Ґ Ўг¤Ґв). ‚лў®-
¤®¬ ў нв®© Ја ¬¬ вЁЄҐ §лў Ґвбп Ї®б«Ґ¤®ў ⥫м®бвм б«®ў X[0],
X[1],..., X[n], ў Є®в®а®© X[0] б®бв®Ёв Ё§ ®¤®Ј® бЁ¬ў®« , Ё нв®в
бЁ¬ў®« - з «мл©, X[i+1] Ї®«гз Ґвбп Ё§ X[i] § ¬Ґ®© ҐЄ®в®-
а®Ј® ҐвҐа¬Ё «м®Ј® бЁ¬ў®« K б«®ў® X Ї® ®¤®¬г Ё§ Їа ўЁ«
Ја ¬¬ вЁЄЁ. ‘«®ў®, б®бв ў«Ґ®Ґ Ё§ вҐа¬Ё «мле бЁ¬ў®«®ў, §л-
ў Ґвбп ўлў®¤Ё¬л¬, Ґб«Ё бгйҐбвўгҐв ўлў®¤, Є®в®ал© Ё¬ Є®з Ґвбп.
Њ®¦Ґбвў® ўбҐе ўлў®¤Ё¬ле б«®ў (Ё§ вҐа¬Ё «мле бЁ¬ў®«®ў) §лў -
Ґвбп п§лЄ®¬, Ї®а®¦¤ Ґ¬л¬ ¤ ®© Ја ¬¬ вЁЄ®©.
‚ нв®© Ё б«Ґ¤гойЁе Ј« ў е ¬л Ўг¤Ґ¬ 室Ёвм ў®ЄагЈ ¤ ®Є®«®
в Є®Ј® ў®Їа®б : ¤ Љ‘-Ја ¬¬ вЁЄ ; Ї®бва®Ёвм «Ј®аЁв¬, Є®в®ал©
Ї® «оЎ®¬г б«®ўг Їа®ўҐапҐв, ўлў®¤Ё¬® «Ё ®® ў нв®© Ја ¬¬ вЁЄҐ.
ЏаЁ¬Ґа 1. Ђ«д ўЁв:
( ) [ ] E
(зҐвлॠвҐа¬Ё «мле бЁ¬ў®« Ё ®¤Ё ҐвҐа¬Ё «мл© бЁ¬ў®« E).
Ќ з «мл© бЁ¬ў®«: e.
Џа ўЁ« :
E -> (E)
E -> [E]
E -> EE
E ->
(ў Ї®б«Ґ¤Ґ¬ Їа ўЁ«Ґ бЇа ў бв®Ёв Їгб⮥ б«®ў®).
ЏаЁ¬Ґал ўлў®¤Ё¬ле б«®ў:
(Їгб⮥ б«®ў®)
()
([])
()[([])]
[()[]()[]]
ЏаЁ¬Ґал Ґўлў®¤Ё¬ле б«®ў:
(
)(
(]
([)]
ќв Ја ¬¬ вЁЄ ўбваҐз « бм ў а §¤Ґ«Ґ 00 (Ј¤Ґ ўлў®¤Ё¬®бвм ў Ґ©
Їа®ўҐап« бм б Ї®¬®ймо б⥪ ).
ЏаЁ¬Ґа 2. „агЈ п Ја ¬¬ вЁЄ , Ї®а®¦¤ ой п в®в ¦Ґ п§лЄ:
Ђ«д ўЁв: ( ) [ ] T E
Џа ўЁ« :
E ->
E -> TE
T -> (E)
T -> [E]
Ќ з «мл¬ бЁ¬ў®«®¬ ў® ўбҐе ЇаЁў®¤Ё¬ле ¤ «ҐҐ ЇаЁ¬Ґа е Ўг¤Ґ¬ бзЁ-
в вм бЁ¬ў®«, бв®пйЁ© ў «Ґў®© з бвЁ ЇҐаў®Ј® Їа ўЁ« (ў ¤ ®¬
б«гз Ґ нв® бЁ¬ў®« T), Ґ ®Ј®ў аЁў п нв®Ј® ®б®Ў®.
„«п Є ¦¤®Ј® ҐвҐа¬Ё «м®Ј® бЁ¬ў®« ¬®¦® а бᬮваҐвм ¬®-
¦Ґбвў® ўбҐе б«®ў Ё§ вҐа¬Ё «мле бЁ¬ў®«®ў, Є®в®алҐ Ё§ ҐЈ® ўлў®-
¤пвбп ( «®ЈЁз® ⮬г, Є Є н⮠ᤥ« ® ¤«п з «м®Ј® бЁ¬ў®« ў
®ЇаҐ¤Ґ«ҐЁЁ ўлў®¤Ё¬®бвЁ ў Ја ¬¬ вЁЄҐ). Љ ¦¤®Ґ Їа ўЁ«® Ја ¬¬ вЁЄЁ
¬®¦® а бб¬ ваЁў вм Є Є бў®©бвў® нвЁе ¬®¦Ґбвў. Џ®Є ¦Ґ¬ нв®
ЇаЁ¬ҐаҐ в®«мЄ® зв® ЇаЁўҐ¤Ґ®© Ја ¬¬ вЁЄЁ. Џгбвм SetT Ё SetE -
¬®¦Ґбвў б«®ў (Ё§ бЄ®Ў®Є), ўлў®¤Ё¬ле Ё§ ҐвҐа¬Ё «®ў T Ё E б®-
®вўҐвб⢥®. ’®Ј¤ Їа ўЁ« ¬ Ја ¬¬ вЁЄЁ ᮮ⢥вбвўгов в ЄЁҐ
бў®©бвў :
E -> SetE ᮤҐа¦Ёв Їгб⮥ б«®ў®
E -> TE Ґб«Ё б«®ў® A ЇаЁ ¤«Ґ¦Ёв SetT,
б«®ў® B ЇаЁ ¤«Ґ¦Ёв
SetE, в® б«®ў® AB ЇаЁ ¤«Ґ¦Ёв SetE
T -> [E] Ґб«Ё A ЇаЁ ¤«Ґ¦Ёв
SetE, в® б«®ў® [A] ЇаЁ ¤«Ґ¦Ёв SetT
T -> (E) Ґб«Ё A ЇаЁ ¤«Ґ¦Ёв
SetE, в® б«®ў® (A) ЇаЁ ¤«Ґ¦Ёв SetT
‘д®а¬г«Ёа®ў лҐ бў®©бвў ¬®¦Ґбвў SetE, SetT Ґ ®ЇаҐ¤Ґ«пов нвЁ
¬®¦Ґбвў ®¤®§ з® ( ЇаЁ¬Ґа, ®Ё ®бв овбп ўҐал¬Ё, Ґб«Ё ў Є -
зҐб⢥ SetE Ё SetT ў§пвм ¬®¦Ґбвў® ўбҐе б«®ў). Ћ¤ Є® ¬®¦® ¤®-
Є § вм, зв® ¬®¦Ґбвў , § ¤ ў Ґ¬лҐ Ја ¬¬ вЁЄ®©, пў«повбп ¬ЁЁ-
¬ «мл¬Ё б।Ё 㤮ў«Ґвў®апойЁе нвЁ¬ гб«®ўЁп¬.
13.1.1. ‘д®а¬г«Ёаг©вҐ в®з® Ё ¤®Є ¦ЁвҐ нв® г⢥তҐЁҐ ¤«п
Їа®Ё§ў®«м®© Є®вҐЄбв®-бў®Ў®¤®© Ја ¬¬ вЁЄЁ.
13.1.2. Џ®бвன⥠Ја ¬¬ вЁЄг, ў Є®в®а®© ўлў®¤Ё¬л б«®ў
( ) 00..0011..11 (зЁб«® г«Ґ© а ў® зЁб«г Ґ¤ЁЁж);
(Ў) 00..0011..11 (зЁб«® г«Ґ© ў¤ў®Ґ Ў®«миҐ зЁб« Ґ¤ЁЁж);
(ў) 00..0011..11 (зЁб«® г«Ґ© Ў®«миҐ зЁб« Ґ¤ЁЁж);
(Ё в®«мЄ® ®Ё).
13.1.3. „®Є § вм, зв® Ґ бгйҐбвўгҐв Љ‘-Ја ¬¬ вЁЄЁ, ў Є®в®-
а®© Ўл«Ё Ўл ўлў®¤Ё¬л б«®ў ўЁ¤ 00..0011..1122..22, ў Є®в®але
зЁб« г«Ґ©, Ґ¤ЁЁж Ё ¤ў®ҐЄ а ўл, Ё в®«мЄ® ®Ё.
“Є § ЁҐ. „®Є ¦ЁвҐ б«Ґ¤гойго «Ґ¬¬г ® Їа®Ё§ў®«м®© Љ‘-Ја ¬-
¬ вЁЄҐ: ¤«п «оЎ®Ј® ¤®бв в®з® ¤«Ё®Ј® б«®ў F, ўлў®¤Ё¬®Ј® ў
нв®© Ја ¬¬ вЁЄҐ, бгйҐбвўгҐв в Є®Ґ ҐЈ® ЇаҐ¤бв ў«ҐЁҐ ў ўЁ¤Ґ
ABCDE, зв® «оЎ®Ґ б«®ў® ўЁ¤ AB..BCD..DE, Ј¤Ґ B Ё D Ї®ўв®аҐл
®¤Ё Є®ў®Ґ зЁб«® а §, в Є¦Ґ ўлў®¤Ё¬® ў нв®© Ја ¬¬ вЁЄҐ. (ќв®
¬®¦® гбв ®ўЁвм, ©¤п ҐвҐа¬Ё «мл© бЁ¬ў®«, ®Є §лў ойЁ©бп
бў®Ё¬ б®ЎбвўҐл¬ " б«Ґ¤ЁЄ®¬" ў Їа®жҐбᥠўлў®¤ .)
ЌҐвҐа¬Ё «мл© бЁ¬ў®« ¬®¦® а бб¬ ваЁў вм Є Є "த®ў®Ґ Ё¬п"
¤«п ўлў®¤Ё¬ле Ё§ ҐЈ® б«®ў. ‚ б«Ґ¤го饬 ЇаЁ¬ҐаҐ ¤«п Ј«п¤®бвЁ
ў Є зҐб⢥ ҐвҐа¬Ё «мле бЁ¬ў®«®ў ЁбЇ®«м§®ў л да Ј¬Ґвл
агббЄЁе б«®ў, § Є«озҐлҐ ў гЈ«®ўлҐ бЄ®ЎЄЁ. (‘ в®зЄЁ §аҐЁп
Ја ¬¬ вЁЄЁ Є ¦¤®Ґ в Є®Ґ б«®ў® - ®¤Ё бЁ¬ў®«!)
ЏаЁ¬Ґа 3. Ђ«д ўЁв:
вҐа¬Ё «л: + * ( ) x
ҐвҐа¬Ё «л: <ўла>, <®бвўла>, <б« Ј>, <®бвб« Ј>, <¬®¦>
Їа ўЁ« :
<ўла> -> <б« Ј> <®бвўла>
<®бвўла> -> + <ўла>
<®бвўла> ->
<б« Ј> -> <¬®¦> <®бвб« Ј>
<®бвб« Ј> -> * <б« Ј>
<®бвб« Ј> ->
<¬®¦> -> x
<¬®¦> -> ( <ўла> )
‘®Ј« б® нв®© Ја ¬¬ вЁЄҐ, ўла ¦ҐЁҐ (<ўла>) - нв® Ї®б«Ґ¤®ў -
⥫м®бвм б« Ј Ґ¬ле (<б« Ј>), а §¤Ґ«Ґле Ї«об ¬Ё, б« Ј Ґ¬®Ґ -
нв® Ї®б«Ґ¤®ў ⥫м®бвм ¬®¦ЁвҐ«Ґ© (<¬®¦>), а §¤Ґ«Ґле §ўҐ§¤®з-
Є ¬Ё (§ Є ¬Ё 㬮¦ҐЁп), ¬®¦ЁвҐ«м - нв® «ЁЎ® ЎгЄў x, «ЁЎ®
ўла ¦ҐЁҐ ў бЄ®ЎЄ е.
13.1.4. ЏаЁўҐ¤ЁвҐ ЇаЁ¬Ґа ¤агЈ®© Ја ¬¬ вЁЄЁ, § ¤ о饩 в®в ¦Ґ
п§лЄ.
ЋвўҐв. ‚®в ®¤Ё Ё§ ў аЁ в®ў:
<ўла> -> <ўла> + <ўла>
<ўла> -> <ўла> * <ўла>
<ўла> -> x
<ўла> -> ( <ўла> )
ќв Ја ¬¬ вЁЄ е®вм Ё Їа®йҐ, ® ў ҐЄ®в®але ®в®иҐЁпе е㦥, ®
祬 ¬л ҐйҐ Ўг¤Ґ¬ Ј®ў®аЁвм.
13.1.5. „ Їа®Ё§ў®«м п Љ‘-Ја ¬¬ вЁЄ . Џ®бва®Ёвм «Ј®аЁв¬
Їа®ўҐаЄЁ ЇаЁ ¤«Ґ¦®бвЁ § ¤ ў Ґ¬®¬г Ґ© п§лЄг, а Ў®в ойЁ© Ї®«Ё®-
¬Ё «м®Ґ ўаҐ¬п (в.Ґ. зЁб«® ¤Ґ©бвўЁ© Ґ ЇаҐў®б室Ёв Ї®«Ё®¬ ®в
¤«Ёл Їа®ўҐа塞®Ј® б«®ў ; Ї®«Ё®¬ ¬®¦Ґв § ўЁбҐвм ®в Ја ¬¬ вЁЄЁ).
ђҐиҐЁҐ. ‡ ¬ҐвЁ¬, зв® вॡ®ў ЁҐ Ї®«Ё®¬Ё «м®бвЁ ЁбЄ«оз Ґв
ў®§¬®¦®бвм аҐиҐЁп, ®б®ў ®¬ ЇҐаҐЎ®аҐ ўбҐе ў®§¬®¦ле ўлў®-
¤®ў. ’Ґ¬ Ґ ¬ҐҐҐ Ї®«Ё®¬Ё «мл© «Ј®аЁв¬ бгйҐбвўгҐв. Џ®бЄ®«мЄг
Їа ЄвЁзҐбЄ®Ј® § зҐЁп ® Ґ Ё¬ҐҐв (ЁбЇ®«м§гҐ¬лҐ Їа ЄвЁЄҐ
Љ‘-Ја ¬¬ вЁЄЁ ®Ў« ¤ ов ¤®Ї®«ЁвҐ«мл¬Ё бў®©бвў ¬Ё, Ї®§ў®«пойЁ¬Ё
бва®Ёвм Ў®«ҐҐ нддҐЄвЁўлҐ «Ј®аЁв¬л), ¬л Ё§«®¦Ё¬ «Ёим ®Ўйго беҐ-
¬г аҐиҐЁп.
(1) Џгбвм ў Ја ¬¬ вЁЄҐ Ґбвм ҐвҐа¬Ё «л K1,...,Kn. Џ®бва®Ё¬
®ўго Ја ¬¬ вЁЄг б ҐвҐа¬Ё « ¬Ё K1',...,Kn' в Є, зв®Ўл ўлЇ®«п-
«®бм в Є®Ґ бў®©бвў®: Ё§ Ki' ўлў®¤пвбп (ў ®ў®© Ја ¬¬ вЁЄҐ) ⥠¦Ґ
б«®ў , зв® Ё§ Ki ў бв а®©, § ЁбЄ«о票Ґ¬ Їгбв®Ј® б«®ў , Є®в®а®Ґ
Ґ ўлў®¤Ёвбп.
—в®Ўл ўлЇ®«Ёвм в Є®Ґ ЇаҐ®Ўа §®ў ЁҐ Ја ¬¬ вЁЄЁ, ¤® ўлпб-
Ёвм, Ё§ Є ЄЁе ҐвҐа¬Ё «®ў Ёб室®© Ја ¬¬ вЁЄЁ ўлў®¤Ёвбп Їгб⮥
б«®ў®, § ⥬ Є ¦¤®Ґ Їа ўЁ«® § ¬ҐЁвм б®ў®ЄгЇ®бвм Їа ўЁ«,
Ї®«гз ойЁебп, Ґб«Ё ў Їа ў®© з бвЁ ®ЇгбвЁвм Є ЄЁҐ-«ЁЎ® Ё§ ҐвҐа-
¬Ё «®ў, Ё§ Є®в®але ўлў®¤Ёвбп Їгб⮥ б«®ў®, г ®бв «мле Ї®бв -
ўЁвм иваЁеЁ. Ќ ЇаЁ¬Ґа, Ґб«Ё ў Ёб室®© Ја ¬¬ вЁЄҐ Ўл«® Їа ўЁ«®
K -> L M N,
ЇаЁзҐ¬ Ё§ L Ё N ўлў®¤Ёвбп Їгб⮥ б«®ў®, Ё§ M Ґв, в® нв® Їа -
ўЁ«® ¤® § ¬ҐЁвм Їа ўЁ«
K'-> L'M'N'
K'-> M'N'
K'-> L'M'
K'-> M'
(2) €в Є, ¬л ᢥ«Ё ¤Ґ«® Є Ја ¬¬ вЁЄҐ, Ј¤Ґ Ё Ё§ ®¤®Ј® Ґ-
вҐа¬Ё « Ґ ўлў®¤Ёвбп Їгб⮥ б«®ў®. ’ҐЇҐам гбва Ё¬ "жЁЄ«л" ўЁ-
¤
K -> L
L -> M
M -> N
N -> K
(ў Їа ў®© з бвЁ Є ¦¤®Ј® Їа ўЁ« ®¤Ё бЁ¬ў®«, Ё нвЁ бЁ¬ў®«л ®Ўа -
§гов жЁЄ« Їа®Ё§ў®«м®© ¤«Ёл): нв® «ҐЈЄ® ᤥ« вм, ®в®¦¤ҐбвўЁў
ўбҐ ўе®¤пйЁҐ ў жЁЄ« ҐвҐа¬Ё «л.
(3) ’ҐЇҐам Їа®ўҐаЄ ЇаЁ ¤«Ґ¦®бвЁ Є Є®Ј®-«ЁЎ® б«®ў п§лЄг,
Ї®а®¦¤Ґ®¬г Ја ¬¬ вЁЄ®©, ¬®¦Ґв ўлЇ®«пвмбп в Є: ¤«п Є ¦¤®Ј®
Ї®¤б«®ў Їа®ўҐа塞®Ј® б«®ў Ё ¤«п Є ¦¤®Ј® ҐвҐа¬Ё « ўлпб塞,
Ї®а®¦¤ Ґвбп «Ё нв® Ї®¤б«®ў® нвЁ¬ ҐвҐа¬Ё «®¬. ЏаЁ н⮬ Ї®¤б«®ў
Їа®ўҐаповбп ў Ї®ап¤ЄҐ ў®§а бв Ёп ¤«Ё, ҐвҐа¬Ё «л - ў в Є®¬
Ї®ап¤ЄҐ, зв®Ўл ЇаЁ «ЁзЁЁ Їа ўЁ« K -> L ҐвҐа¬Ё « L Їа®ўҐап«-
бп а миҐ ҐвҐа¬Ё « K. (ќв® ў®§¬®¦® ў бЁ«г ®вбгвбвўЁп жЁЄ-
«®ў.) Џ®пбЁ¬ нв®в Їа®жҐбб ЇаЁ¬ҐаҐ.
Џгбвм ў Ја ¬¬ вЁЄҐ Ґбвм Їа ўЁ«
K -> L
K -> M N L
Ё ¤агЈЁе Їа ўЁ«, ᮤҐа¦ йЁе K ў «Ґў®© з бвЁ, Ґв. Њл е®вЁ¬ г§-
вм, ўлў®¤Ёвбп «Ё ¤ ®Ґ б«®ў® A Ё§ ҐвҐа¬Ё « K. ќв® Ўг¤Ґв
в Є ў ®¤®¬ Ё§ б«гз Ґў: (1) Ґб«Ё A ўлў®¤Ёвбп Ё§ L; (2) Ґб«Ё A
¬®¦® а §ЎЁвм ҐЇгбвлҐ б«®ў B, C, D, ¤«п Є®в®але B ўлў®¤Ёвбп
Ё§ M, C ўлў®¤Ёвбп Ё§ N, D ўлў®¤Ёвбп Ё§ L. ‚бп нв Ёд®а¬ жЁп
㦥 Ґбвм (б«®ў B, C, D Є®а®зҐ A, L а бᬮвॠ¤® K).
‹ҐЈЄ® ўЁ¤Ґвм, зв® зЁб«® ¤Ґ©бвўЁ© нв®Ј® «Ј®аЁв¬ Ї®«Ё®¬Ё-
«м®. ‘⥯Ґм Ї®«Ё®¬ § ўЁбЁв ®в зЁб« ҐвҐа¬Ё «®ў ў Їа ўле
з бвпе Їа ўЁ« Ё ¬®¦Ґв Ўлвм Ї®Ё¦Ґ , Ґб«Ё Ја ¬¬ ⨪㠯८Ўа §®-
ў вм Є д®а¬Ґ, ў Є®в®а®© Їа ў п з бвм Є ¦¤®Ј® Їа ўЁ« ᮤҐа¦Ёв 1
Ё«Ё 2 ҐвҐа¬Ё « (нв® «ҐЈЄ® ᤥ« вм, ўў®¤п ®ўлҐ ҐвҐа¬Ё «л:
ЇаЁ¬Ґа, Їа ўЁ«® K -> LMK ¬®¦® § ¬ҐЁвм K -> LN Ё N -> MK,
Ј¤Ґ N - ®ўл© ҐвҐа¬Ё «).
13.1.6. ђ бᬮваЁ¬ Ја ¬¬ вЁЄг б Ґ¤ЁбвўҐл¬ ҐвҐа¬Ё «®¬
K, ҐвҐа¬Ё « ¬Ё 1, 2, 3 Ё Їа ўЁ« ¬Ё
K -> 0
K -> 1 K
K -> 2 K K
K -> 3 K K K
Љ Є Їа®ўҐаЁвм ўлў®¤Ё¬®бвм б«®ў ў нв®© Ја ¬¬ вЁЄҐ, зЁв п б«®ў®
б«Ґў Їа ў®? (—Ёб«® ¤Ґ©бвўЁ© ЇаЁ Їа®з⥨Ё ®¤®© ЎгЄўл ¤®«¦®
Ўлвм ®Ја ЁзҐ®.)
ђҐиҐЁҐ. •а Ёвбп 楫 п ЇҐаҐ¬Ґ п n, Ёў аЁ в: б«®ў® ўл-
ў®¤Ё¬® <-> ҐЇа®зЁв п з бвм ЇаҐ¤бв ў«пҐв б®Ў®© Є®Є ⥠жЁо
(ᮥ¤ЁҐЁҐ) n ўлў®¤Ё¬ле б«®ў.
13.1.7. ’®в ¦Ґ ў®Їа®б ¤«п Ја ¬¬ вЁЄЁ
K -> 0
K -> K 1
K -> K K 2
K -> K K K 3
13.2. ЊҐв®¤ ४габЁў®Ј® бЇгбЄ .
‚ ®в«ЁзЁҐ ®в «Ј®аЁв¬ ЇаҐ¤л¤г饣® а §¤Ґ« (ЇаҐ¤бв ў«по饣®
зЁб⮠⥮аҐвЁзҐбЄЁ© ЁвҐаҐб), «Ј®аЁв¬л ®б®ўҐ ४габЁў®Ј®
бЇгбЄ з бв® ЁбЇ®«м§говбп Їа ЄвЁЄҐ. ќв®в ¬Ґв®¤ ЇаЁ¬ҐЁ¬, ®¤-
Є®, ¤ «ҐЄ® Ґ Є® ўбҐ¬ Ја ¬¬ вЁЄ ¬. Њл ®Ўбг¤Ё¬ Ґ®Ўе®¤Ё¬лҐ ®Ј-
а ЁзҐЁп Ї®§¤ҐҐ.
€¤Ґп ¬Ґв®¤ ४габЁў®Ј® бЇгбЄ в Є®ў . „«п Є ¦¤®Ј® ҐвҐа-
¬Ё « K ¬л бва®Ё¬ Їа®жҐ¤гаг ReadK, Є®в®а п - ў ЇаЁ¬ҐҐЁЁ Є «о-
Ў®¬г ўе®¤®¬г б«®ўг x - ¤Ґ« Ґв ¤ўҐ ўҐйЁ:
(1) 室Ёв ЁЎ®«м襥 з «® z б«®ў x, Є®в®а®Ґ ¬®¦Ґв Ўлвм
з «®¬ ўлў®¤Ё¬®Ј® Ё§ K б«®ў ;
(2) б®®Ўй Ґв, пў«пҐвбп «Ё ©¤Ґ®Ґ б«®ў® z ўлў®¤Ё¬л¬ Ё§ K.
ЏаҐ¦¤Ґ 祬 ®ЇЁблў вм нв®в ¬Ґв®¤ Ў®«ҐҐ Ї®¤а®Ў®, ¤®Ј®ў®аЁ¬бп
® ⮬, Є Є Їа®жҐ¤гал Ї®«гз ов ᢥ¤ҐЁп ® ўе®¤®¬ б«®ўҐ Ё Є Є б®-
®Ўй ов ® १г«мв в е бў®Ґ© а Ў®вл. Њл ЇаҐ¤Ї®« Ј Ґ¬, зв® ЎгЄўл
ўе®¤®Ј® б«®ў Ї®бвгЇ ов Є Ё¬ Ї® ®¤®©, в.Ґ. Ё¬ҐҐвбп Ја Ёж ,
®в¤Ґ«пой п "Їа®зЁв го" з бвм ®в "ҐЇа®зЁв ®©". Ѓг¤Ґ¬ бзЁ-
в вм, зв® Ґбвм дгЄжЁп (ЎҐ§ Ї а ¬Ґва®ў)
Next: Symbol
¤ ой п ЇҐаўл© ҐЇа®зЁв л© бЁ¬ў®«. …Ґ § 票ﬨ ¬®Јгв Ўлвм
вҐа¬Ё «млҐ бЁ¬ў®«л, в Є¦Ґ бЇҐжЁ «мл© бЁ¬ў®« EOI (End Of
Input - Є®Ґж ўе®¤ ), ®§ з ойЁ©, зв® ўбҐ б«®ў® 㦥 Їа®зЁв ®.
‚맮ў нв®© дгЄжЁЁ, ҐбвҐб⢥®, Ґ б¤ўЁЈ Ґв Ја Ёжл ¬Ґ¦¤г Їа®-
зЁв ®© Ё ҐЇа®зЁв ®© з бвмо - ¤«п нв®Ј® Ґбвм Їа®жҐ¤га Move,
Є®в®а п б¤ўЁЈ Ґв Ја Ёжг ®¤Ё бЁ¬ў®«. (Ћ ЇаЁ¬ҐЁ¬ , Ґб«Ё
Next <> EOI.) Џгбвм, Є®Ґж, Ё¬ҐҐвбп Ўг«ҐўбЄ п ЇҐаҐ¬Ґ п b.
’ҐЇҐам ¬л ¬®¦Ґ¬ бд®а¬г«Ёа®ў вм иЁ вॡ®ў Ёп Є Їа®жҐ¤гаҐ
ReadK. ЋЁ б®бв®пв ў б«Ґ¤го饬:
(1) ReadK Їа®зЁвлў Ґв Ё§ ®б⠢襩бп з бвЁ б«®ў ¬ ЄбЁ-
¬ «м®Ґ з «® A, пў«по饥бп з «®¬ ҐЄ®в®а®Ј® б«®ў , ўлў®¤Ё¬®-
Ј® Ё§ K;
(2) § 票Ґ b бв ®ўЁвбп ЁбвЁл¬ Ё«Ё «®¦л¬ ў § ўЁбЁ¬®бвЁ
®в в®Ј®, пў«пҐвбп «Ё A ўлў®¤Ё¬л¬ Ё§ K Ё«Ё «Ёим Ґўлў®¤Ё¬л¬ з -
«®¬ ўлў®¤Ё¬®Ј® (Ё§ K) б«®ў .
„«п 㤮Ўбвў ўўҐ¤Ґ¬ в Єго вҐа¬Ё®«®ЈЁо: ўлў®¤Ё¬®Ґ Ё§ K б«®-
ў® Ўг¤Ґ¬ §лў вм K-б«®ў®¬, «оЎ®Ґ з «® «оЎ®Ј® ўлў®¤Ё¬®Ј® Ё§
K б«®ў - K- з «®¬. ’ॡ®ў Ёп (1) Ё (2) ў¬Ґб⥠Ўг¤Ґ¬ ўла ¦ вм
б«®ў ¬Ё "ReadK Є®а४⠤«п K".
Ќ 祬 б а бᬮв२п з бв®Ј® б«гз п. Џгбвм Їа ўЁ«®
K -> L M
пў«пҐвбп Ґ¤ЁбвўҐл¬ Їа ўЁ«®¬ Ја ¬¬ вЁЄЁ, ᮤҐа¦ йЁ¬ K ў «Ґў®©
з бвЁ, Їгбвм L, M - ҐвҐа¬Ё «л Ё ReadL, ReadM - Є®а४влҐ (¤«п
Ёе) Їа®жҐ¤гал.
ђ бᬮваЁ¬ в Єго Їа®жҐ¤гаг:
procedure ReadK;
begin
| ReadL;
| if b then begin
| | ReadM;
| end;
end;
13.2.1. ЏаЁўҐбвЁ ЇаЁ¬Ґа, Є®Ј¤ нв Їа®жҐ¤га Ўг¤Ґв ҐЄ®а-
४⮩ ¤«п K.
ЋвўҐв. Џгбвм Ё§ L ўлў®¤Ёвбп «оЎ®Ґ б«®ў® ўЁ¤ 00..00, Ё§ M
ўлў®¤Ёвбп «Ёим б«®ў® 01. ’®Ј¤ Ё§ K ўлў®¤Ёвбп б«®ў® 00001, ®
Їа®жҐ¤га ReadK нв®Ј® Ґ § ¬ҐвЁв.
“Є ¦Ґ¬ ¤®бв в®з®лҐ гб«®ўЁп Є®а४в®бвЁ Їа®жҐ¤гал ReadK.
„«п нв®Ј® ¬ Ї® ¤®Ўпвбп ҐЄ®в®алҐ ®Ў®§ 票п. Џгбвм дЁЄбЁа®-
ў л Љ‘-Ја ¬¬ вЁЄ Ё ҐЄ®в®ал© ҐвҐа¬Ё « N нв®© Ја ¬¬ вЁЄЁ.
ђ бᬮваЁ¬ N-б«®ў® A, Є®в®а®Ґ Ё¬ҐҐв б®Ўб⢥®Ґ з «® B, в Є¦Ґ
пў«по饥бп N-б«®ў®¬ (Ґб«Ё в ЄЁҐ Ґбвм). „«п «оЎ®© Ї ал в ЄЁе б«®ў
A Ё B а бᬮваЁ¬ вҐа¬Ё «мл© бЁ¬ў®«, Ё¤гйЁ© ў A ҐЇ®б।б⢥®
§ B. Њ®¦Ґбвў® ўбҐе в ЄЁе вҐа¬Ё «®ў ®Ў®§ зЁ¬ Џ®б«(N). (…б«Ё
ЁЄ Є®Ґ N-б«®ў® Ґ пў«пҐвбп б®ЎбвўҐл¬ з «®¬ ¤агЈ®Ј® N-б«®ў ,
в® ¬®¦Ґбвў® Џ®б«(N) Їгбв®.)
13.2.2. “Є § вм ( ) Џ®б«(E) ¤«п ЇаЁ¬Ґа 1; (Ў) Џ®б«(E) Ё
Џ®б«(T) ¤«п ЇаЁ¬Ґа 2; (ў) Џ®б«(<б« Ј>) Ё Џ®б«(<¬®¦>) ¤«п ЇаЁ-
¬Ґа 3.
ЋвўҐв. ( ) Џ®б«(e) = { [, ( }. (Ў) Џ®б«(e) = { [, ( };
Џ®б«(t) Їгбв® (ЁЄ Є®Ґ t-б«®ў® Ґ пў«пҐвбп з «®¬ ¤агЈ®Ј®). (ў)
Џ®б«(<б« Ј>) = {*}; Џ®б«(<¬®¦>) Їгбв®.
Ља®¬Ґ в®Ј®, ¤«п Є ¦¤®Ј® ҐвҐа¬Ё « N ®Ў®§ зЁ¬ зҐаҐ§ Ќ з(N)
¬®¦Ґбвў® ўбҐе вҐа¬Ё «®ў, пў«пойЁебп ЇҐаўл¬Ё ЎгЄў ¬Ё ҐЇгбвле
N-б«®ў. ќв® ®Ў®§ 票Ґ - ў¬ҐбвҐ б ЇаҐ¤л¤гйЁ¬ - Ї®§ў®«Ёв ¤ вм
¤®бв в®з®Ґ гб«®ўЁҐ Є®а४в®бвЁ Їа®жҐ¤гал ReadK ў ®ЇЁб ®© ўл-
иҐ бЁвг жЁЁ.
13.2.3. „®Є § вм, зв® Ґб«Ё Џ®б« (L) Ґ ЇҐаҐбҐЄ Ґвбп б
Ќ з(M) Ё ¬®¦Ґбвў® ўбҐе M-б«®ў ҐЇгбв®, в® ReadK Є®а४в .
ђҐиҐЁҐ. ђ бᬮваЁ¬ ¤ў б«гз п. (1) Џгбвм Ї®б«Ґ ReadL § -
票Ґ ЇҐаҐ¬Ґ®© b «®¦®. ‚ н⮬ б«гз Ґ ReadM зЁв Ґв б® ўе®¤
¬ ЄбЁ¬ «м®Ґ M- з «® A, Ґ пў«по饥бп M-б«®ў®¬. Ћ® пў«пҐвбп
K- з «®¬ (§¤Ґбм ў ¦®, зв® ¬®¦Ґбвў® L-б«®ў ҐЇгбв®.). Ѓг¤Ґв «Ё
®® ¬ ЄбЁ¬ «мл¬ K- з «®¬ б।Ё з « ўе®¤ ? …б«Ё Ґв, в® A пў-
«пҐвбп з «®¬ б«®ў BC, Ј¤Ґ B Ґбвм L-б«®ў®, C Ґбвм M- з «® Ё
BC - Ў®«ҐҐ ¤«Ё®Ґ з «® ўе®¤ , 祬 A. …б«Ё B ¤«ЁҐҐ A, в® A -
Ґ ¬ ЄбЁ¬ «м®Ґ з «® ўе®¤ , пў«по饥бп L- з «®¬, зв® Їа®вЁў®-
аҐзЁв Є®а४в®бвЁ ReadL. …б«Ё B = A, в® A Ўл«® Ўл L-б«®ў®¬,
нв® Ґ в Є. ‡ зЁв, B Є®а®зҐ A, C ҐЇгбв® Ё ЇҐаўл© бЁ¬ў®« б«®ў
C б«Ґ¤гҐв ў A § Ї®б«Ґ¤Ё¬ бЁ¬ў®«®¬ б«®ў B, в.Ґ. Џ®б«(L) ЇҐаҐ-
ᥪ Ґвбп б Ќ з(M). Џа®вЁў®аҐзЁҐ. €в Є, A ¬ ЄбЁ¬ «м®. €§ бЄ § -
®Ј® б«Ґ¤гҐв в Є¦Ґ, зв® A Ґ пў«пҐвбп K-б«®ў®¬. Љ®а४в®бвм
Їа®жҐ¤гал ReadK ў н⮬ б«гз Ґ Їа®ўҐаҐ .
(2) Џгбвм Ї®б«Ґ ReadL § 票Ґ ЇҐаҐ¬Ґ®© b ЁбвЁ®. ’®Ј¤
Їа®зЁв ®Ґ Їа®жҐ¤га®© ReadK з «® ўе®¤ Ё¬ҐҐв ўЁ¤ AB, Ј¤Ґ A
Ґбвм L-б«®ў®, B Ґбвм M- з «®. ’Ґ¬ б ¬л¬ AB Ґбвм K- з «®.
Џа®ўҐаЁ¬ ҐЈ® ¬ ЄбЁ¬ «м®бвм. Џгбвм C Ґбвм Ў®«м襥 K- з «®. ’®Ј-
¤ «ЁЎ® C Ґбвм L- з «® (зв® Ґў®§¬®¦®, в Є Є Є A Ўл«® ¬ ЄбЁ-
¬ «мл¬ L- з «®¬), «ЁЎ® C = A'B', Ј¤Ґ A' - L-б«®ў®, B' - M- -
з «®. …б«Ё A' Є®а®зҐ A, в® B' ҐЇгбв® Ё зЁ Ґвбп б бЁ¬ў®« ,
ЇаЁ ¤«Ґ¦ 饣® Ё Ќ з(M), Ё Џ®б«(L), зв® Ґў®§¬®¦®. …б«Ё A'
¤«ЁҐҐ A, в® нв® Їа®вЁў®аҐзЁв ⮬г, зв® A Ўл«® ¬ ЄбЁ¬ «мл¬.
€в Є, A' = A. Ќ® ў н⮬ б«гз Ґ B' Ґбвм Їа®¤®«¦ҐЁҐ B, зв® Їа®вЁ-
ў®аҐзЁв Є®а४в®бвЁ ReadM. €в Є, AB - ¬ ЄбЁ¬ «м®Ґ K- з «®.
Ћбв Ґвбп Їа®ўҐаЁвм Їа ўЁ«м®бвм ўл¤ ў Ґ¬®Ј® Їа®жҐ¤га®© ReadK
§ зҐЁп ЇҐаҐ¬Ґ®© b. …б«Ё ®® ЁбвЁ®, в® нв® ®зҐўЁ¤®. …б«Ё
®® «®¦®, в® B Ґ Ґбвм M-б«®ў®, Ё ¤® Їа®ўҐаЁвм, зв® AB - Ґ
K-б«®ў®. ‚ б ¬®¬ ¤Ґ«Ґ, Ґб«Ё Ўл ўлЇ®«п«®бм AB = A'B', Ј¤Ґ A' -
L-б«®ў®, B' - M-б«®ў®, в® A' Ґ ¬®¦Ґв Ўлвм ¤«ЁҐҐ A (ReadL зЁ-
в Ґв ¬ ЄбЁ¬ «м®Ґ б«®ў®), A' Ґ ¬®¦Ґв Ўлвм а ў® A (в®Ј¤ B'
а ў® B Ё Ґ пў«пҐвбп M-б«®ў®¬) Ё A' Ґ ¬®¦Ґв Ўлвм Є®а®зҐ A
(в®Ј¤ ЇҐаўл© бЁ¬ў®« B' ЇаЁ ¤«Ґ¦Ёв Ё Ќ з(M), Ё Џ®б«(L)). ‡ ¤ з
аҐиҐ .
ЏҐаҐ©¤Ґ¬ ⥯Ґам Є ¤агЈ®¬г з б⮬г б«гз о. Џгбвм ў Љ‘-Ја ¬-
¬ вЁЄҐ Ґбвм Їа ўЁ«
K -> L
K -> M
K -> N
Ё ¤агЈЁе Їа ўЁ« б «Ґў®© з бвмо K Ґв.
13.2.4. ‘зЁв п, зв® ReadL, ReadM Ё ReadN Є®а४вл (¤«п L,
M Ё N) Ё зв® ¬®¦Ґбвў Ќ з(L), Ќ з(M) Ё Ќ з(N) Ґ ЇҐаҐбҐЄ овбп,
ЇЁб вм Їа®жҐ¤гаг, Є®а४вго ¤«п K.
ђҐиҐЁҐ. ‘奬 Їа®жҐ¤гал в Є®ў :
procedure ReadK;
begin
| if (Next ЇаЁ ¤«Ґ¦Ёв Ќ з(L)) then begin
| | ReadL;
| end else if (Next ЇаЁ ¤«Ґ¦Ёв Ќ з(M)) then begin
| | ReadM;
| end else if (Next ЇаЁ ¤«Ґ¦Ёв Ќ з(N)) then begin
| | ReadN;
| end else begin
| | b := true Ё«Ё false ў § ўЁбЁ¬®бвЁ ®в в®Ј®,
| | ўлў®¤Ё¬® «Ё Їгб⮥ б«®ў® Ё§ K Ё«Ё Ґв
| end;
end;
„®Є ¦Ґ¬, зв® ReadK Є®а४⮠ॠ«Ё§гҐв K. …б«Ё Next Ґ ЇаЁ ¤«Ґ-
¦Ёв Ё ®¤®¬г Ё§ ¬®¦Ґбвў Ќ з(L), Ќ з(M), Ќ з(N),в® Їгб⮥ б«®ў®
пў«пҐвбп ЁЎ®«миЁ¬ з «®¬ ўе®¤ , пў«пойЁ¬бп K- з «®¬. …б«Ё
Next ЇаЁ ¤«Ґ¦Ёв ®¤®¬г (Ё, б«Ґ¤®ў ⥫м®, в®«мЄ® ®¤®¬г) Ё§
нвЁе ¬®¦Ґбвў, в® ¬ ЄбЁ¬ «м®Ґ з «® ўе®¤ , пў«по饥бп K- з -
«®¬, ҐЇгбв® Ё зЁв Ґвбп ᮮ⢥вбвўго饩 Їа®жҐ¤га®©.
13.2.5. €бЇ®«м§гп бЄ § ®Ґ, б®бв ўм⥠Їа®жҐ¤гаг а бЇ®§ -
ў Ёп ўла ¦ҐЁ© ¤«п Ја ¬¬ вЁЄЁ (㦥 а бб¬ ваЁў ўиҐ©бп ў ЇаЁ¬ҐаҐ
3):
<ўла> -> <б« Ј> <®бвўла>
<®бвўла> -> + <ўла>
<®бвўла> ->
<б« Ј> -> <¬®¦> <®бвб« Ј>
<®бвб« Ј> -> * <б« Ј>
<®бвб« Ј> ->
<¬®¦> -> x
<¬®¦> -> ( <ўла> )
ђҐиҐЁҐ. ќв Ја ¬¬ вЁЄ Ґ Ї®«®бвмо Ї®¤Ї ¤ Ґв Ї®¤ а бᬮв-
аҐлҐ з бвлҐ б«гз Ё: ў Їа ўле з бвпе Ґбвм Є®¬ЎЁ жЁЁ вҐа¬Ё -
«®ў Ё ҐвҐа¬Ё «®ў
+ <ўла>
Ё ЈагЇЇл Ё§ ваҐе бЁ¬ў®«®ў
( <ўла> )
‚ Ја ¬¬ вЁЄҐ Ґбвм в Є¦Ґ ҐбЄ®«мЄ® Їа ўЁ« б ®¤®© «Ґў®© з бвмо Ё
б Їа ўл¬Ё з бвп¬Ё а §®Ј® த , ЇаЁ¬Ґа
<®бвўла> -> + <ўла>
<®бвўла> ->
ќвЁ ®Ја ЁзҐЁп Ґ пў«повбп ЇаЁжЁЇЁ «мл¬Ё. ’ Є, Їа ўЁ«® вЁЇ
K -> L M N
¬®¦® Ўл«® Ўл § ¬ҐЁвм ¤ў Їа ўЁ« K -> LQ Ё Q -> MN, вҐа¬Ё-
«млҐ бЁ¬ў®«л ў Їа ў®© з бвЁ - ҐвҐа¬Ё «л (б Ґ¤Ёб⢥л¬
Їа ўЁ«®¬ § ¬Ґл ᮮ⢥вбвўгойЁҐ вҐа¬Ё «л). ЌҐбЄ®«мЄ® Їа ўЁ«
б ®¤®© «Ґў®© з бвмо Ё а §®а®¤л¬Ё Їа ўл¬Ё в Є¦Ґ ¬®¦® ᢥбвЁ Є
㦥 а §®Ўа ®¬г б«гз о: ЇаЁ¬Ґа,
K -> L M N
K -> P Q
K ->
¬®¦® § ¬ҐЁвм Їа ўЁ«
K -> K1
K -> K2
K -> K3
K1 -> L M N
K2 -> P Q
K3 ->
Ќ® ¬л Ґ Ўг¤Ґ¬ нв®Ј® ¤Ґ« вм - ба §г ¦Ґ § ЇЁиҐ¬ в®, зв® Ї®«г-
зЁвбп, Ґб«Ё Ї®¤бв ўЁвм ®ЇЁб Ёп Їа®жҐ¤га ¤«п ®ўле вҐа¬Ё «мле
бЁ¬ў®«®ў ў ¬Ґбв Ёе ЁбЇ®«м§®ў Ёп. Ќ ЇаЁ¬Ґа, ¤«п Їа ўЁ«
K -> L M N
нв® ¤ Ґв Їа®жҐ¤гаг
procedure ReadK;
begin
| ReadL;
| if b then begin ReadM; end;
| if b then begin ReadN; end;
end;
„«п ҐҐ Є®а४в®бвЁ ¤®, зв®Ўл Џ®б«(L) Ґ ЇҐаҐбҐЄ «®бм б
Ќ з(MN) (Є®в®а®Ґ а ў® Ќ з(M), Ґб«Ё Ё§ M Ґ ўлў®¤Ёвбп Їгб⮥
б«®ў®, Ё а ў® ®ЎкҐ¤ЁҐЁо Ќ з(M) Ё Ќ з(N), Ґб«Ё ўлў®¤Ёвбп),
в Є¦Ґ зв®Ўл Џ®б«(M) Ґ ЇҐаҐбҐЄ «®бм б Ќ з(N).
Ђ «®ЈЁзл¬ ®Ўа §®¬ Їа ўЁ«
K -> L M N
K -> P Q
K ->
ЇаЁў®¤пв Є Їа®жҐ¤гаҐ
procedure ReadK;
begin
| if (Next ЇаЁ ¤«Ґ¦Ёв Ќ з(LMN)) then begin
| | ReadB;
| | if b then begin ReadM; end;
| | if b then begin ReadN; end;
| end else if (Next ЇаЁ ¤«Ґ¦Ёв Ќ з(PQ)) then begin
| | ReadP;
| | if b then begin ReadQ; end;
| end else begin
| | b := true;
| end;
end;
—Ёв п ЇаЁўҐ¤Ґго ¤ «ҐҐ Їа®Ја ¬¬г, Ї®«Ґ§® Ё¬Ґвм ў ўЁ¤г б®®в-
ўҐвбвўЁҐ ¬Ґ¦¤г агббЄЁ¬Ё Ё Ј«Ё©бЄЁ¬Ё б«®ў ¬Ё:
‚›ђ ¦ҐЁҐ EXPRession
Ћ‘’ в®Є ‚›ђ ¦ҐЁп REST of EXPRession
‘‹Ђѓ Ґ¬®Ґ ADDitive term
Ћ‘’ в®Є ‘‹Ђѓ Ґ¬®Ј® REST of ADDitive term
ЊЌЋ†ЁвҐ«м MULTiplier
procedure ReadSymb (c: Symbol);
| b := (Next = c);
| if b then begin Move; end;
end;
procedure ReadExpr;
| ReadAdd;
| if b then begin ReadRestExpr; end;
end;
procedure ReadRestExpr;
| if Next = '+' then begin
| | ReadSymb ('+');
| | if b then begin ReadExpr; end;
| end else begin
| | b := true;
| end;
end;
procedure ReadAdd;
| ReadMult;
| if b then begin ReadRestAdd; end;
end;
procedure ReadRestAdd;
| if Next = '*' then begin
| | ReadSymb ('*');
| | if b then begin ReadAdd; end;
| end else begin
| | b := true;
| end;
end;
procedure ReadMult;
| if Next = 'x' then begin
| | ReadSymb ('x');
| end else if Next = '(' then begin
| | ReadSymb ('(');
| | if b then begin ReadExpr; end;
| | if b then begin ReadSymb (')'); end;
| end else begin
| | b := false;
| end;
end;
Ћбв «®бм ®Ўбг¤Ёвм Їа®Ў«Ґ¬л, бўп§ лҐ б ў§ Ё¬®© ४габЁў®бвмо
нвЁе Їа®жҐ¤га (®¤ ЁбЇ®«м§гҐв ¤агЈго Ё ®Ў®а®в). ‚ Ї бЄ «Ґ нв®
¤®ЇгбЄ Ґвбп, в®«мЄ® вॡгҐвбп ¤ вм ЇаҐ¤ў аЁвҐ«м®Ґ ®ЇЁб ЁҐ Їа®-
楤га ("forward"). Љ Є ўбҐЈ¤ ¤«п ४габЁўле Їа®жҐ¤га, Ї®¬Ё¬®
¤®Є § ⥫мбвў в®Ј®, зв® Є ¦¤ п Їа®жҐ¤га а Ў®в Ґв Їа ўЁ«м® ў
ЇаҐ¤Ї®«®¦ҐЁЁ, зв® ЁбЇ®«м§гҐ¬лҐ ў Ґ© ўл§®ўл Їа®жҐ¤га а Ў®в ов
Їа ўЁ«м®, ¤® ¤®Є § вм ®в¤Ґ«м®, зв® а Ў®в § ўҐаи Ґвбп. (ќв®
Ґ ®зҐўЁ¤®: Ґб«Ё Ўл ў Ја ¬¬ вЁЄҐ Ўл«® Їа ўЁ«® K -> KK, в® Ё§ K
ЁзҐЈ® Ґ ўлў®¤Ёвбп, Џ®б«(K) Ё Ќ з(K) Їгбвл, ® ЇЁб п Ї®
иЁ¬ Є ® ¬ Їа®жҐ¤га
procedure ReadK;
begin
| ReadK;
| if b then begin
| | ReadK;
| end;
end;
Ґ § Є зЁў Ґв а Ў®вл.)
‚ ¤ ®¬ б«гз Ґ Їа®жҐ¤гал ReadRestExpr, ReadRestAdd,
ReadMult «ЁЎ® § ўҐаи овбп, «ЁЎ® 㬥ми ов ¤«Ёг ҐЇа®зЁв ®©
з бвЁ ўе®¤ . Џ®бЄ®«мЄг «оЎ®© жЁЄ« ўл§®ў®ў ўЄ«оз Ґв ®¤г Ё§ Ёе,
в® § жЁЄ«Ёў ЁҐ Ґў®§¬®¦®. ‡ ¤ з аҐиҐ .
13.2.6. Џгбвм ў Ја ¬¬ вЁЄҐ Ё¬Ґовбп ¤ў Їа ўЁ« б ҐвҐа¬Ё-
Ё «®¬ K ў «Ґў®© з бвЁ, Ё¬ҐойЁе ўЁ¤
K -> LK
K ->
Ї® Є®в®ал¬ K-б«®ў® ЇаҐ¤бв ў«пҐв б®Ў®© Є®Ґзго Ї®б«Ґ¤®ў -
⥫м®бвм L-б«®ў, ЇаЁзҐ¬ ¬®¦Ґбвў Џ®б«(L) Ё Ќ з(K) (ў ¤ ®¬
б«гз Ґ а ў®Ґ Ќ з(L)) Ґ ЇҐаҐбҐЄ овбп. €бЇ®«м§гп Є®а४вго ¤«п
L Їа®жҐ¤гаг ReadL, ЇЁб вм Є®а४вго ¤«п K Їа®жҐ¤гаг ReadK, Ґ
ЁбЇ®«м§гп ४габЁЁ. ЏаҐ¤Ї®« Ј Ґвбп, зв® Їгб⮥ б«®ў® Ґ ўлў®¤Ё¬®
Ё§ L.
ђҐиҐЁҐ. Џ® иЁ¬ Їа ўЁ« ¬ б«Ґ¤®ў «® Ўл ЇЁб вм
procedure ReadK;
begin
| if (Next ЇаЁ ¤«Ґ¦Ёв Ќ з (L)) then begin
| | ReadL;
| | if b then begin ReadK; end;
| end else begin
| | b := true;
| end;
end;
§ ўҐа襨Ґ а Ў®вл Ј а вЁагҐвбп ⥬, зв® Їгб⮥ б«®ў® Ґ ўлў®¤Ё-
¬® Ё§ L (Ё, б«Ґ¤®ў ⥫м®, ЇҐаҐ¤ ४габЁўл¬ ўл§®ў®¬ ¤«Ё ҐЇ-
а®зЁв ®© з б⨠㬥ми Ґвбп).
ќв ४габЁў п Їа®жҐ¤га нЄўЁў «Ґв ҐаҐЄгабЁў®©:
procedure ReadK;
begin
| b := true;
| while b and (Next ЇаЁ ¤«Ґ¦Ёв Ќ з (L)) do begin
| | ReadL;
| end;
end;
”®а¬ «м® ¬®¦® Їа®ўҐаЁвм нвг нЄўЁў «Ґв®бвм в Є. ‡ ўҐаи Ґ¬®бвм
ў ®Ў®Ёе б«гз пе пб . „®бв в®з® Їа®ўҐаЁвм Ї®н⮬г, з⮠⥫® аҐ-
ЄгабЁў®© Їа®жҐ¤гал нЄўЁў «Ґв® ҐаҐЄгабЁў®© ў ЇаҐ¤Ї®«®¦ҐЁЁ,
зв® ҐҐ ४габЁўл© ўл§®ў нЄўЁў «ҐвҐ ўл§®ўг ҐаҐЄгабЁў®© Їа®-
楤гал. Џ®¤бв ўЁ¬:
if (Next ЇаЁ ¤«Ґ¦Ёв Ќ з (K)) then begin
| ReadL;
| if b then begin
| | b := true;
| | while b and (Next ЇаЁ ¤«Ґ¦Ёв Ќ з (L)) do begin
| | | ReadL;
| | end;
| end;
end else begin
| b := true;
end;
ЏҐаўго Є®¬ ¤г b := true ¬®¦® ўлЄЁгвм (ў н⮬ ¬Ґб⥠Ё в Є b
ЁбвЁ®). ‚в®аго Є®¬ ¤г ¬®¦® ЇҐаҐҐбвЁ ў з «®:
b := true;
if (Next ЇаЁ ¤«Ґ¦Ёв Ќ з (K)) then begin
| ReadL;
| if b then begin
| | while b and (Next ЇаЁ ¤«Ґ¦Ёв Ќ з (L)) do begin
| | | ReadL;
| | end;
| end;
end;
’ҐЇҐам ўгв२© if ¬®¦® ўлЄЁгвм (Ґб«Ё b «®¦®, жЁЄ« while
ўбҐ а ў® Ґ ўлЇ®«пҐвбп) Ё ¤®Ў ўЁвм ў гб«®ўЁҐ ўҐиҐЈ® if гб«®-
ўЁҐ b (Є®в®а®Ґ ўбҐ а ў® ЁбвЁ®).
b := true;
if b and (Next ЇаЁ ¤«Ґ¦Ёв Ќ з (L)) then begin
| ReadL;
| while b and (Next ЇаЁ ¤«Ґ¦Ёв Ќ з (A)) do begin
| | ReadL;
| end;
end;
зв® нЄўЁў «Ґв® ЇаЁўҐ¤Ґ®© ўлиҐ ҐаҐЄгабЁў®© Їа®жҐ¤гॠ(Ё§
Є®в®а®© ўлҐбҐ ЇҐаў п ЁвҐа жЁп жЁЄ« ).
13.2.7. „®Є § вм Є®а४в®бвм ЇаЁўҐ¤Ґ®© ўлиҐ ҐаҐЄгабЁў-
®© Їа®Ја ¬¬л ҐЇ®б।б⢥®, ЎҐ§ ббл«®Є ४габЁўго.
ђҐиҐЁҐ. ђ бᬮваЁ¬ ЁЎ®«м襥 з «® ўе®¤ , пў«по饥бп
K- з «®¬. Ћ® ЇаҐ¤бв ў«пҐвбп ў ўЁ¤Ґ Є®Є ⥠樨 (Ї®б«Ґ¤®ў -
⥫쮣® ЇаЁЇЁблў Ёп) ҐбЄ®«мЄЁе ҐЇгбвле L-б«®ў Ё, ў®§¬®¦®,
®¤®Ј® ҐЇгбв®Ј® L- з « , Ґ пў«по饣®бп L-б«®ў®¬. €ў аЁ в
жЁЄ« : Їа®зЁв ® ҐбЄ®«мЄ® Ё§ Ёе; b <=> (Ї®б«Ґ¤ҐҐ Їа®зЁв ®Ґ
пў«пҐвбп L-б«®ў®¬).
‘®еа ҐЁҐ Ёў аЁ в : Ґб«Ё ®бв «®бм Ї®б«Ґ¤ҐҐ б«®ў®, нв®
®зҐўЁ¤®; Ґб«Ё ®бв «®бм ҐбЄ®«мЄ®, в® § ЇҐаўл¬ B-б«®ў®¬ (Ё§
зЁб« ®бв ўиЁебп) Ё¤Ґв бЁ¬ў®« Ё§ Ќ з(B), Ё Ї®в®¬г нв® б«®ў® -
¬ ЄбЁ¬ «мл¬ з «®¬ ўе®¤ , пў«по饥бп B- з «®¬.
Ќ Їа ЄвЁЄҐ ЇаЁ § ЇЁбЁ Ја ¬¬ вЁЄЁ ЁбЇ®«м§гов б®Єа 饨п.
…б«Ё Їа ўЁ« ¤«п Є Є®Ј®-в® ҐвҐа¬Ё « K Ё¬Ґов ўЁ¤
K -> L K
K ->
(в.Ґ. K-б«®ў - нв® Ї®б«Ґ¤®ў ⥫м®бвЁ L-б«®ў), в® нвЁе Їа ўЁ«
Ґ ЇЁигв, ў¬Ґбв® K ЇЁигв L ў дЁЈгале бЄ®ЎЄ е. ЌҐбЄ®«мЄ® Їа -
ўЁ« б ®¤®© «Ґў®© з бвмо Ё а §л¬Ё Їа ўл¬Ё § ЇЁблў ов Є Є ®¤®
Їа ўЁ«®, а §¤Ґ«пп «мвҐа вЁўлҐ Їа ўлҐ з бвЁ ўҐавЁЄ «м®© зҐа-
в®©.
Ќ ЇаЁ¬Ґа, а бᬮваҐ п ўлиҐ Ја ¬¬ вЁЄ ¤«п <ўла> ¬®¦Ґв
Ўлвм § ЇЁб в Є:
<ўла> -> <б« Ј> { + <б« Ј> }
<б« Ј> -> <¬®¦> { * <¬®¦> }
<¬®¦> -> x | ( <ўла> )
13.2.8. Ќ ЇЁб вм Їа®жҐ¤гаг, Є®а४⮠¤«п <ўла>, б«Ґ¤гп
нв®© Ја ¬¬ вЁЄҐ Ё ЁбЇ®«м§гп жЁЄ« ў¬Ґб⮠४габЁЁ, Ј¤Ґ ¬®¦®.
ђҐиҐЁҐ.
procedure ReadSymb (c: Symbol);
| b := (Next = c);
| if b then begin Move; end;
end;
procedure ReadExpr;
begin
| ReadAdd;
| while b and (Next = '+') do begin
| | Move;
| | ReadAdd;
| end;
end;
procedure ReadAdd;
begin
| ReadMult;
| while b and (Next = '*') do begin
| | Move;
| | ReadMult;
| end;
end;
procedure ReadMult;
begin
| if Next = 'x' do begin
| | Move;
| end else if Next = '(' then begin
| | Move;
| | ReadExpr;
| | if b then begin ReadSymb (')'); end;
| end else begin
| | b := false;
| end;
end;
13.3. Ђ«Ј®аЁв¬ а §Ў®а ¤«п LL(1)-Ја ¬¬ вЁЄ.
‚ н⮬ а §¤Ґ«Ґ ¬л а бᬮਬ ҐйҐ ®¤Ё ¬Ґв®¤ Їа®ўҐаЄЁ ўлў®¤Ё-
¬®бвЁ ў Љ‘-Ја ¬¬ вЁЄҐ, §лў Ґ¬л© Ї® ва ¤ЁжЁЁ LL(1)-а §Ў®а®¬.
‚®в ҐЈ® Ё¤Ґп ў ®¤®© да §Ґ: ¬®¦® бзЁв вм, зв® ў Їа®жҐбᥠўлў®¤
¬л ўбҐЈ¤ § ¬ҐпҐ¬ б ¬л© «Ґўл© ҐвҐа¬Ё « Ё 㦮 «Ёим ўлЎа вм
®¤® Ё§ Їа ўЁ«; Ґб«Ё ¬ Ї®ўҐ§Ґв б Ја ¬¬ вЁЄ®©, в® ўлЎа вм Їа -
ўЁ«® ¬®¦®, Ј«п¤п ЇҐаўл© бЁ¬ў®« ўлў®¤Ё¬®Ј® Ё§ нв®Ј® ҐвҐа¬Ё-
« б«®ў . ѓ®ў®ап Ў®«ҐҐ д®а¬ «м®, ¤ ¤Ё¬ в Є®Ґ
ЋЇаҐ¤Ґ«ҐЁҐ. ‹Ґўл¬ ўлў®¤®¬ (б«®ў ў Ја ¬¬ вЁЄҐ) §лў Ґвбп
ўлў®¤, ў Є®в®а®¬ Є ¦¤®¬ и ЈҐ § ¬ҐҐ Ї®¤ўҐаЈ Ґвбп б ¬л© «Ґўл©
Ё§ ҐвҐа¬Ё «®ў.
13.3.1. „«п Є ¦¤®Ј® ўлў®¤Ё¬®Ј® б«®ў (Ё§ вҐа¬Ё «®ў) бг-
йҐбвўгҐв ҐЈ® «Ґўл© ўлў®¤.
ђҐиҐЁҐ. ђ §«ЁзлҐ ҐвҐа¬Ё «л § ¬Ґповбп Ґ§ ўЁбЁ¬®; Ґб«Ё
ў Їа®жҐбᥠўлў®¤ Ї®пўЁ«®бм б«®ў® ..K..L.., Ј¤Ґ K, L - ҐвҐа¬Ё-
«л, в® § ¬Ґл K Ё L ¬®¦® Їа®Ё§ў®¤Ёвм ў «оЎ®¬ Ї®ап¤ЄҐ. Џ®н⮬г
¬®¦® ЇҐаҐбва®Ёвм ўлў®¤ в Є, зв®Ўл бв®пйЁ© «ҐўҐҐ ҐвҐа¬Ё « § -
¬Ґп«бп а миҐ. (”®а¬ «м® Ј®ў®ап, ¤® ¤®Є §лў вм Ё¤гЄжЁҐ© Ї®
¤«ЁҐ ўлў®¤ в Є®© д Єв: Ґб«Ё Ё§ ҐЄ®в®а®Ј® ҐвҐа¬Ё « K ўлў®-
¤Ёвбп ҐЄ®в®а®Ґ
б«®ў® A, в® бгйҐбвўгҐв «Ґўл© ўлў®¤ A Ё§ K.)
13.3.2. ‚ Ја ¬¬ вЁЄҐ б 4 Їа ўЁ« ¬Ё
(1) E ->
(2) E -> T E
(3) T -> ( E )
(4) T -> [ E ]
©вЁ «Ґўл© ўлў®¤ б«®ў A = [()([])] Ё ¤®Є § вм, зв® ®
Ґ¤Ёб⢥.
ђҐиҐЁҐ. Ќ ЇҐаў®¬ и ЈҐ ¬®¦® ЇаЁ¬ҐЁвм в®«мЄ® Їа ўЁ«® (2):
E -> TE
—в® Ўг¤Ґв ¤ «миҐ б T? ’ Є Є Є б«®ў® A зЁ Ґвбп "[", в® ¬®-
¦Ґв ЇаЁ¬ҐЁвмбп в®«мЄ® Їа ўЁ«® (4):
E -> TE -> [E]E
ЏҐаў®Ґ E ¤®«¦® § ¬ҐЁвмбп TE (Ё зҐ ўв®ал¬ бЁ¬ў®«®¬ Ўл« Ўл
бЄ®ЎЄ "]"):
E -> TE -> [E]E -> [TE]E
Ё T ¤®«¦® § ¬Ґпвмбп Ї® (3):
E -> TE -> [E]E -> [TE]E -> [(E)E]E
„ «ҐҐ ЇҐаў®Ґ E ¤®«¦® § ¬ҐЁвмбп Їгб⮥ б«®ў® (Ё зҐ ваҐв쥩
ЎгЄў®© б«®ў Ўг¤Ґв "(" Ё«Ё "[" - в®«мЄ® нвЁ бЁ¬ў®«л ¬®¦Ґв -
зЁ вмбп б«®ў®, ўлў®¤Ё¬®Ґ Ё§ T):
E -> TE -> [E]E -> [TE]E -> [(E)E]E -> [()E]E
Ё ¤ «ҐҐ
... -> [()TE]E -> [()(E)E]E -> [()(TE)E]E -> [()([E]E)E]E ->
-> [()([]E)E]E -> [()([])E]E -> [()([])]E -> [()([])].
—в® вॡгҐвбп ®в Ја ¬¬ вЁЄЁ, зв®Ўл в Є®© ¬Ґв®¤ Ї®ЁбЄ «Ґў®-
Ј® ўлў®¤ Ўл« ЇаЁ¬ҐЁ¬? Џгбвм, ЇаЁ¬Ґа, ®зҐаҐ¤®¬ и ЈҐ б ¬л¬
«Ґўл¬ ҐвҐа¬Ё «®¬ ®Є § «бп ҐвҐа¬Ё « K, в.Ґ. ¬л Ё¬ҐҐ¬ б«®ў®
ўЁ¤ AKU, Ј¤Ґ A - б«®ў® Ё§ вҐа¬Ё «®ў, U - б«®ў® Ё§ вҐа¬Ё «®ў
Ё ҐвҐа¬Ё «®ў. Џгбвм ў Ја ¬¬ вЁЄҐ Ґбвм Їа ўЁ«
K -> L M N
K -> P Q
K -> R
Ќ ¬ ¤® ўлЎа вм ®¤® Ё§ Ёе. Њл Ўг¤Ґ¬ Їлв вмбп ᤥ« вм нв®в ўл-
Ў®а, Ј«п¤п ЇҐаўл© бЁ¬ў®« в®© з бвЁ ўе®¤®Ј® б«®ў , Є®в®а п
ўлў®¤Ёвбп Ё§ KU.
ђ бᬮваЁ¬ ¬®¦Ґбвў® Ќ з(LMN) вҐе вҐа¬Ё «®ў, б Є®в®але -
зЁ овбп ҐЇгбвлҐ б«®ў , ўлў®¤Ё¬лҐ Ё§ LMN. (ќв® ¬®¦Ґбвў® а ў®
Ќ з(L), ®ЎкҐ¤ЁҐ®¬г б Ќ з(M), Ґб«Ё Ё§ L ўлў®¤Ёвбп Їгб⮥ б«®-
ў®, в Є¦Ґ б Ќ з(N), Ґб«Ё Ё§ L Ё Ё§ M ўлў®¤Ёвбп Їгб⮥ б«®ў®.)
—в®Ўл ®ЇЁб л© ¬Ґв®¤ Ўл« ЇаЁ¬ҐЁ¬, ¤®, зв®Ўл Ќ з(LMN),
Ќ з(PQ) Ё Ќ з(R) Ґ ЇҐаҐбҐЄ «Ёбм. Ќ® нв®Ј® ¬ «®. ‚Ґ¤м ¬®¦Ґв Ўлвм
в Є, ЇаЁ¬Ґа, зв® Ё§ LMN Ўг¤Ґв ўлўҐ¤Ґ® Їгб⮥ б«®ў®, Ё§ б«®-
ў U Ўг¤Ґв ўлўҐ¤Ґ® б«®ў®, зЁ о饥бп ЎгЄўг Ё§ Ќ з(PQ).
‘«Ґ¤гойЁҐ ®ЇаҐ¤Ґ«ҐЁп гзЁвлў ов нвг Їа®Ў«Ґ¬г.
Ќ Ї®¬Ё¬, зв® ®ЇаҐ¤Ґ«ҐЁҐ ўлў®¤Ё¬®бвЁ ў Љ‘-Ја ¬¬ вЁЄҐ Ўл«®
¤ ® в®«мЄ® ¤«п б«®ў Ё§ вҐа¬Ё «®ў. Ћ® ®зҐўЁ¤л¬ ®Ўа §®¬ ®Ў®Ў-
й Ґвбп б«гз © б«®ў Ё§ вҐа¬Ё «®ў Ё ҐвҐа¬Ё «®ў. Њ®¦® в Є¦Ґ
Ј®ў®аЁвм ® ўлў®¤Ё¬®бвЁ ®¤®Ј® б«®ў (ᮤҐа¦ 饣® вҐа¬Ё «л Ё Ґ-
вҐа¬Ё «л) Ё§ ¤агЈ®Ј®. (…б«Ё Ј®ў®аЁвбп ® ўлў®¤Ё¬®бвЁ б«®ў ЎҐ§
гЄ § Ёп в®Ј®, ®вЄг¤ ®® ўлў®¤Ёвбп, в® ўбҐЈ¤ Ї®¤а §г¬Ґў Ґвбп
ўлў®¤Ё¬®бвм ў Ја ¬¬ вЁЄҐ, в.Ґ. ўлў®¤Ё¬®бвм Ё§ з «м®Ј® ҐвҐа-
¬Ё « .)
„«п Є ¦¤®Ј® б«®ў X Ё§ вҐа¬Ё «®ў Ё ҐвҐа¬Ё «®ў зҐаҐ§
Ќ з(X) ®Ў®§ з Ґ¬ ¬®¦Ґбвў® ўбҐе вҐа¬Ё «®ў, б Є®в®але зЁ ов-
бп ҐЇгбвлҐ б«®ў Ё§ вҐа¬Ё «®ў, ўлў®¤Ё¬лҐ Ё§ X. (‚ б«гз Ґ, Ґб«Ё
Ё§ «оЎ®Ј® ҐвҐа¬Ё « ўлў®¤Ёвбп е®вм ®¤® б«®ў® Ё§ вҐа¬Ё «®ў,
Ґ ЁЈа Ґв а®«Ё, а бб¬ ваЁў Ґ¬ «Ё ¬л ЇаЁ ®ЇаҐ¤Ґ«ҐЁЁ Ќ з(X) б«®ў
в®«мЄ® Ё§ вҐа¬Ё «®ў Ё«Ё «оЎлҐ б«®ў . Њл Ўг¤Ґ¬ ЇаҐ¤Ї®« Ј вм ¤ -
«ҐҐ, зв® нв® гб«®ўЁҐ ўлЇ®«Ґ®.)
„«п Є ¦¤®Ј® ҐвҐа¬Ё « K зҐаҐ§ Џ®б«Ґ¤(K) ®Ў®§ зЁ¬ ¬®-
¦Ґбвў® вҐа¬Ё «®ў, Є®в®алҐ ўбваҐз овбп ў ўлў®¤Ё¬ле б«®ў е ба §г
¦Ґ § K. Ља®¬Ґ в®Ј®, ў Џ®б«Ґ¤(K) ўЄ«оз Ґвбп бЁ¬ў®« EOI, Ґб«Ё бг-
йҐбвўгҐв ўлў®¤Ё¬®Ґ б«®ў®, ®Є зЁў о饥бп K.
„«п Є ¦¤®Ј® Їа ўЁ«
K -> V
(Ј¤Ґ K - ҐвҐа¬Ё «, V - б«®ў®, ᮤҐа¦ 饥 вҐа¬Ё «л Ё ҐвҐа¬Ё-
«л) ®ЇаҐ¤Ґ«Ё¬ ¬®¦Ґбвў® " Їа ў«пойЁе вҐа¬Ё «®ў", ®Ў®§ з -
Ґ¬®Ґ Ќ Їа(K->V). Џ® ®ЇаҐ¤Ґ«ҐЁо ®® а ў® Ќ з(V), Є Є®в®а®¬г ¤®-
Ў ў«Ґ® Џ®б«Ґ¤(K), Ґб«Ё Ё§ V ўлў®¤Ёвбп Їгб⮥ б«®ў®.
ЋЇаҐ¤Ґ«ҐЁҐ. ѓа ¬¬ вЁЄ §лў Ґвбп LL(1)-Ја ¬¬ вЁЄ®©, Ґб«Ё
¤«п «оЎле Їа ўЁ« K->V Ё K->W б ®¤Ё Є®ўл¬Ё «Ґўл¬Ё з бвп¬Ё ¬®-
¦Ґбвў Ќ Їа(K->V) Ё Ќ Їа(K->W) Ґ ЇҐаҐбҐЄ овбп.
13.3.3. џў«пҐвбп «Ё Ја ¬¬ вЁЄ
K -> K #
K ->
(ўлў®¤Ё¬л¬Ё б«®ў ¬Ё пў«повбп Ї®б«Ґ¤®ў ⥫м®бвЁ ¤ЁҐ§®ў)
LL(1)-Ја ¬¬ вЁЄ®©?
ђҐиҐЁҐ. ЌҐв: бЁ¬ў®« # ЇаЁ ¤«Ґ¦Ёв ¬®¦Ґбвў ¬ Їа ў«пойЁе
бЁ¬ў®«®ў ¤«п ®Ў®Ёе Їа ўЁ« (¤«п ўв®а®Ј® - Ї®бЄ®«мЄг # ЇаЁ ¤«Ґ¦Ёв
Џ®б«Ґ¤(K)).
13.3.4. Ќ ЇЁб вм LL(1)-Ја ¬¬ вЁЄг ¤«п в®Ј® ¦Ґ п§лЄ .
ђҐиҐЁҐ.
K -> # K
K ->
Љ Є Ј®ў®апв, "«Ґў®аҐЄгабЁў®Ґ Їа ўЁ«®" § ¬ҐҐ® "Їа ў®аҐЄга-
бЁў®Ґ".
‘«Ґ¤гой п § ¤ з Ї®Є §лў Ґв, зв® ¤«п LL(1)-Ја ¬¬ вЁЄЁ бгйҐ-
бвўгҐв Ґ Ў®«ҐҐ ®¤®Ј® ў®§¬®¦®Ј® Їа®¤®«¦ҐЁп «Ґў®Ј® ўлў®¤ .
13.3.5. Џгбвм ¤ ® ўлў®¤Ё¬®Ґ ў LL(1)-Ја ¬¬ вЁЄҐ б«®ў® X, ў
Є®в®а®¬ ўл¤Ґ«Ґ б ¬л© «Ґўл© ҐвҐа¬Ё « Љ: X=AKS, Ј¤Ґ A - б«®ў®
Ё§ вҐа¬Ё «®ў, S - б«®ў® Ё§ вҐа¬Ё «®ў Ё ҐвҐа¬Ё «®ў. Џгбвм бг-
йҐбвўгов ¤ў а §«Ёзле Їа ўЁ« Ја ¬¬ вЁЄЁ б ҐвҐа¬Ё «®¬ K ў «Ґ-
ў®© з бвЁ, Ё ¬л ЇаЁ¬ҐЁ«Ё Ёе Є ўл¤Ґ«Ґ®¬г ў X ҐвҐа¬Ё «г K,
§ ⥬ Їа®¤®«¦Ё«Ё ўлў®¤ Ё ў Є®жҐ Є®ж®ў Ї®«гзЁ«Ё ¤ў б«®ў Ё§
вҐа¬Ё «®ў, зЁ ойЁебп A. „®Є § вм, зв® ў нвЁе б«®ў е §
з «®¬ A Ё¤гв а §лҐ ЎгЄўл.
ђҐиҐЁҐ. ќвЁ ЎгЄўл ЇаЁ ¤«Ґ¦ в Їа ў«пойЁ¬ ¬®¦Ґбвў ¬ а §-
«Ёзле Їа ўЁ«.
13.3.6. „®Є § вм, зв® Ґб«Ё б«®ў® ўлў®¤Ё¬® ў LL(1)-Ја ¬¬ вЁ-
ЄҐ, в® ҐЈ® «Ґўл© ўлў®¤ Ґ¤Ёб⢥.
ђҐиҐЁҐ. ЏаҐ¤л¤гй п § ¤ з Ї®Є §лў Ґв, зв® Є ¦¤®¬ и ЈҐ
«Ґўл© ўлў®¤ Їа®¤®«¦ Ґвбп ®¤®§ з®.
13.3.7. ѓа ¬¬ вЁЄ §лў Ґвбп «Ґў®аҐЄгабЁў®©, Ґб«Ё Ё§ Ґ-
Є®в®а®Ј® ҐвҐа¬Ё « K ўлў®¤Ёвбп б«®ў®, зЁ о饥бп б K, ® Ґ
б®ўЇ ¤ о饥 б Ё¬. „®Є § вм, зв® «Ґў®аҐЄгабЁў п Ја ¬¬ вЁЄ , ў
Є®в®а®© Ё§ Є ¦¤®Ј® ҐвҐа¬Ё « ўлў®¤Ёвбп е®вп Ўл ®¤® ҐЇгб⮥
б«®ў® Ё§ вҐа¬Ё «®ў Ё ¤«п Є ¦¤®Ј® ҐвҐа¬Ё « бгйҐбвўгҐв ўлў®¤
( зЁ ойЁ©бп б з «м®Ј® ҐвҐа¬Ё « ), ў Є®в®а®¬ ® ўбваҐз Ґв-
бп, Ґ пў«пҐвбп LL(1)-Ја ¬¬ вЁЄ®©.
ђҐиҐЁҐ. Џгбвм Ё§ K ўлў®¤Ёвбп KU, Ј¤Ґ K - ҐвҐа¬Ё «, U -
ҐЇгб⮥ б«®ў®. Њ®¦® бзЁв вм, зв® нв® «Ґўл© ўлў®¤ (¤агЈЁҐ Ґ-
вҐа¬Ё «л ¬®¦® Ґ § ¬Ґпвм). ђ бᬮваЁ¬ ўлў®¤ K --> KU --> KUU
->... (§ Є --> ®Ў®§ з Ґв ҐбЄ®«мЄ® и Ј®ў ўлў®¤ ) Ё «Ґўл© ўлў®¤
K -> A, Ј¤Ґ A - ҐЇгб⮥ б«®ў® Ё§ вҐа¬Ё «®ў. Ќ Є Є®¬-в® и ЈҐ
ўв®а®© ўлў®¤ ®вЄ«®пҐвбп ®в ЇҐаў®Ј®, ¬Ґ¦¤г ⥬ Ї® ®Ў®Ё¬ Їгвп¬
¬®¦Ґв Ўлвм Ї®«г祮 б«®ў®, зЁ о饥бп A (ў ЇҐаў®¬ б«гз Ґ
нв® ў®§¬®¦®, в Є Є Є б®еа пҐвбп ҐвҐа¬Ё « K, Є®в®ал© ¬®¦Ґв
ўЇ®б«Ґ¤бвўЁЁ Ўлвм § ¬ҐҐ A). ќв® Їа®вЁў®аҐзЁв ў®§¬®¦®бвЁ
®¤®§ з®Ј® ®ЇаҐ¤Ґ«ҐЁп Їа ўЁ« , ЇаЁ¬ҐпҐ¬®Ј® ®зҐаҐ¤®¬ и ЈҐ
Ї®ЁбЄ «Ґў®Ј® ўлў®¤ . (O¤®§ з®бвм ўлЇ®«пҐвбп ¤«п ўлў®¤®ў Ё§
з «м®Ј® ҐвҐа¬ « , Ё ¤® ў®бЇ®«м§®ў вмбп ⥬, зв® K Ї®
ЇаҐ¤Ї®«®¦ҐЁо ўбваҐз Ґвбп ў в Є®¬ ўлў®¤Ґ.)
’ ЄЁ¬ ®Ўа §®¬, Є «Ґў®аҐЄгабЁўл¬ Ја ¬¬ вЁЄ ¬ (Єа®¬Ґ ваЁўЁ-
«мле б«гз Ґў) LL(1)- гЄ ҐЇаЁ¬ҐЁ¬ . €е ЇаЁе®¤Ёвбп ЇаҐ®Ўа -
§®ўлў вм Є нЄўЁў «Ґвл¬ LL(1)-Ја ¬¬ вЁЄ ¬ - Ё«Ё Ї®«м§®ў вмбп
¤агЈЁ¬Ё ¬Ґв®¤ ¬Ё а бЇ®§ ў Ёп.
13.3.8. €бЇ®«м§гп бЄ § ®Ґ, Ї®бва®Ёвм «Ј®аЁв¬ Їа®ўҐаЄЁ
ўлў®¤Ё¬®бвЁ б«®ў Ё§ вҐа¬Ё «®ў ў LL(1)-Ја ¬¬ вЁЄҐ, Ґ пў«по饩-
бп «Ґў®аҐЄгабЁў®©.
ђҐиҐЁҐ. Њл б«Ґ¤гҐ¬ ®ЇЁб ®¬г ўлиҐ ¬Ґв®¤г Ї®ЁбЄ «Ґў®Ј®
ўлў®¤ , еа п «Ёим з бвм б«®ў , 室пйгобп Їа ўҐҐ 㦥 Їа®зЁв -
®© з бвЁ ўе®¤®Ј® б«®ў . „агЈЁ¬Ё б«®ў ¬Ё, ¬л еа Ё¬ б«®ў® S Ё§
вҐа¬Ё «®ў Ё ҐвҐа¬Ё «®ў, ®Ў« ¤ о饥 в ЄЁ¬ бў®©бвў®¬ (Їа®зЁв -
го з бвм ўе®¤ ®Ў®§ з Ґ¬ зҐаҐ§ A):
| (1) б«®ў® AS ўлў®¤Ё¬® ў Ја ¬¬ вЁЄҐ;
(€) | (2) «оЎ®© «Ґўл© ўлў®¤ ўе®¤®Ј® б«®ў Їа®е®¤Ёв зҐаҐ§ бв ¤Ёо
| AS
‚ з «Ґ A Їгбв®, S б®бв®Ёв Ё§ Ґ¤Ёб⢥®Ј® бЁ¬ў®« - -
з «м®Ј® ҐвҐа¬Ё « .
…б«Ё ў ҐЄ®в®ал© ¬®¬Ґв S зЁ Ґвбп вҐа¬Ё « t Ё t =
Next, в® ¬®¦® ўлЇ®«Ёвм Є®¬ ¤г Move Ё г¤ «Ёвм бЁ¬ў®« t, пў«п-
ойЁ©бп з «мл¬ ў S, Ї®бЄ®«мЄг ЇаЁ н⮬ AS Ґ ¬ҐпҐвбп.
…б«Ё S зЁ Ґвбп вҐа¬Ё « t Ё t Ґ а ў® Next, в® ўе®¤-
®Ґ б«®ў® Ґўлў®¤Ё¬® - ЁЎ® Ї® гб«®ўЁо «оЎ®© ҐЈ® ўлў®¤ ¤®«¦Ґ
Їа®е®¤Ёвм зҐаҐ§ AS. (ќв® ¦Ґ бЇа ўҐ¤«Ёў® Ё ў б«гз Ґ Next = EOI.)
…б«Ё S Їгбв®, в® Ё§ гб«®ўЁп (€) б«Ґ¤гҐв, зв® ўе®¤®Ґ б«®ў®
ўлў®¤Ё¬® в®Ј¤ Ё в®«мЄ® в®Ј¤ , Є®Ј¤ Next = EOI.
Ћбв Ґвбп б«гз ©, Є®Ј¤ S зЁ Ґвбп б ҐЄ®в®а®Ј® ҐвҐа¬Ё -
« K. Џ® ¤®Є § ®¬г ўлиҐ ўбҐ «ҐўлҐ ўлў®¤л Ё§ S б«®ў, зЁ -
ойЁебп бЁ¬ў®« Next, зЁ овбп б ЇаЁ¬ҐҐЁп Є T ®¤®Ј® Ё в®Ј®
¦Ґ Їа ўЁ« - в®Ј®, ¤«п Є®в®а®Ј® Next ЇаЁ ¤«Ґ¦Ёв Їа ў«по饬г
¬®¦Ґбвўг. …б«Ё в ЄЁе Їа ўЁ« Ґв, в® ўе®¤®Ґ б«®ў® Ґўлў®¤Ё¬®.
…б«Ё в Є®Ґ Їа ўЁ«® Ґбвм, ⮠㦮 ЇаЁ¬ҐЁвм ҐЈ® Є ЇҐаў®¬г бЁ¬ў®-
«г б«®ў S - ЇаЁ н⮬ бў®©бвў® (€) Ґ агиЁвбп. ЏаЁе®¤Ё¬ Є в -
Є®¬г «Ј®аЁв¬г:
S := Їгб⮥ б«®ў®;
error := false;
{error => ўе®¤®Ґ б«®ў® Ґўлў®¤Ё¬®;}
{not error => (€)}
while (not error) and not ((Next=EOI) and (S Їгбв®)) do begin
| if (S зЁ Ґвбп вҐа¬Ё «, а ўл© Next) then begin
| | Move; г¤ «Ёвм Ё§ S ЇҐаўл© бЁ¬ў®«;
| end else if (S зЁ Ґвбп вҐа¬Ё «, Ґ а ўл© Next)
| | then begin
| | error := true;
| end else if (S Їгбв®) and (Next <> EOI) then begin
| | error := true;
| end else if (S зЁ Ґвбп ҐвҐа¬Ё « Ё Next ўе®¤Ёв ў
| | Їа ў«по饥 ¬®¦Ґбвў® ®¤®Ј® Ё§ Їа ўЁ« ¤«п нв®Ј®
| | ҐвҐа¬Ё « ) then begin
| | ЇаЁ¬ҐЁвм нв® Їа ўЁ«®
| end else if (S зЁ Ґвбп ҐвҐа¬Ё « Ё Next Ґ ўе®¤Ёв ў
| | Їа ў«по饥 ¬®¦Ґбвў® Ё ®¤®Ј® Ё§ Їа ўЁ« ¤«п нв®Ј®
| | ҐвҐа¬Ё « ) then begin
| | error := true;
| end;
end;
{ўе®¤®Ґ б«®ў® ўлў®¤Ё¬® <=> not error}
Ђ«Ј®аЁв¬ § Є зЁў Ґв а Ў®вг, Ї®бЄ®«мЄг ЇаЁ Ї®пў«ҐЁЁ ҐвҐа¬Ё «
ў з «Ґ б«®ў S Їа®Ёб室Ёв з⥨Ґ б® ўе®¤ Ё«Ё ®бв ®ўЄ ,
ЎҐбЄ®Ґзл© жЁЄ« ᬥпойЁе ¤агЈ ¤агЈ вҐа¬Ё «®ў ў з «Ґ S ®§-
з « Ўл, зв® Ја ¬¬ вЁЄ «Ґў®аҐЄгабЁў .
‡ ¬Ґз Ёп. 1. ЏаЁўҐ¤Ґл© «Ј®аЁв¬ ЁбЇ®«м§гҐв S Є Є б⥪
(ўбҐ ¤Ґ©бвўЁп Їа®Ё§ў®¤пвбп б «Ґў®Ј® Є®ж ).
2. „Ґ©бвўЁп ¤ўге Ї®б«Ґ¤Ёе ў аЁ в®ў ўгваЁ жЁЄ« Ґ ЇаЁў®-
¤пв Є звҐЁо ®зҐаҐ¤®Ј® бЁ¬ў®« б® ўе®¤ , Ї®нв®¬г Ёе ¬®¦® § а -
ҐҐ ЇаҐ¤ўлзЁб«Ёвм ¤«п Є ¦¤®Ј® ҐвҐа¬Ё « Ё Є ¦¤®Ј® бЁ¬ў®«
Next. Џ®б«Ґ нв®Ј® Є ¦¤®¬ и ЈҐ жЁЄ« Ўг¤Ґв зЁв вмбп ®зҐаҐ¤®©
бЁ¬ў®« ўе®¤ .
3. ЏаЁ Їа ЄвЁзҐбЄ®© ॠ«Ё§ жЁЁ 㤮Ў® б®бв ўЁвм в Ў«Ёжг, ў
Є®в®а®© § ЇЁб л ў аЁ вл ¤Ґ©бвўЁ© ў § ўЁбЁ¬®бвЁ ®в ўе®¤®Ј®
бЁ¬ў®« Ё ЇҐаў®Ј® бЁ¬ў®« S, Ё ҐЎ®«миго Їа®Ја ¬¬г, ўлЇ®«пойго
¤Ґ©бвўЁп ў ᮮ⢥вбвўЁЁ б нв®© в Ў«ЁжҐ©.
13.1. Љ®вҐЄбв®-бў®Ў®¤лҐ Ја ¬¬ вЁЄЁ. ЋЎйЁ© «Ј®аЁв¬ а §-
Ў®а .
—в®Ўл ®ЇаҐ¤Ґ«Ёвм в®, зв® §лў ов Є®вҐЄбв®-бў®Ў®¤®©
Ја ¬¬ вЁЄ®© (Љ‘-Ја ¬¬ вЁЄ®©), ¤®:
( ) гЄ § вм Є®Ґз®Ґ ¬®¦Ґбвў® A, §лў Ґ¬®Ґ «д ўЁв®¬; ҐЈ®
н«Ґ¬Ґвл §лў ов бЁ¬ў®« ¬Ё; Є®ҐзлҐ Ї®б«Ґ¤®ў ⥫м®бвЁ бЁ¬ў®-
«®ў §лў ов б«®ў ¬Ё (ў ¤ ®¬ «д ўЁвҐ);
(Ў) а §¤Ґ«Ёвм ўбҐ бЁ¬ў®«л «д ўЁв A ¤ўҐ ЈагЇЇл: вҐа¬Ё-
«млҐ ("®Є®з ⥫млҐ") Ё ҐвҐа¬Ё «млҐ ("Їа®¬Ґ¦гв®злҐ");
(ў) ўлЎа вм б।Ё ҐвҐа¬Ё «мле бЁ¬ў®«®ў ®¤Ё, §лў Ґ¬л©
з «мл¬;
(Ј) гЄ § вм Є®Ґз®Ґ зЁб«® Їа ўЁ« Ја ¬¬ вЁЄЁ, Є ¦¤®Ґ Ё§ Є®-
в®але ¤®«¦® Ё¬Ґвм ўЁ¤
K -> X
Ј¤Ґ K - ҐЄ®в®ал© ҐвҐа¬Ё «мл© бЁ¬ў®«, X - б«®ў® (ў ҐЈ® ¬®-
Јг⠢室Ёвм Ё вҐа¬Ё «млҐ, Ё ҐвҐа¬Ё «млҐ бЁ¬ў®«л).
Џгбвм дЁЄбЁа®ў Љ‘-Ја ¬¬ вЁЄ (¬л з бв® Ўг¤Ґ¬ ®ЇгбЄ вм
ЇаЁбв ўЄг "Љ‘-", в Є Є Є ¤агЈЁе Ја ¬¬ вЁЄ г б Ґ Ўг¤Ґв). ‚лў®-
¤®¬ ў нв®© Ја ¬¬ вЁЄҐ §лў Ґвбп Ї®б«Ґ¤®ў ⥫м®бвм б«®ў X[0],
X[1],..., X[n], ў Є®в®а®© X[0] б®бв®Ёв Ё§ ®¤®Ј® бЁ¬ў®« , Ё нв®в
бЁ¬ў®« - з «мл©, X[i+1] Ї®«гз Ґвбп Ё§ X[i] § ¬Ґ®© ҐЄ®в®-
а®Ј® ҐвҐа¬Ё «м®Ј® бЁ¬ў®« K б«®ў® X Ї® ®¤®¬г Ё§ Їа ўЁ«
Ја ¬¬ вЁЄЁ. ‘«®ў®, б®бв ў«Ґ®Ґ Ё§ вҐа¬Ё «мле бЁ¬ў®«®ў, §л-
ў Ґвбп ўлў®¤Ё¬л¬, Ґб«Ё бгйҐбвўгҐв ўлў®¤, Є®в®ал© Ё¬ Є®з Ґвбп.
Њ®¦Ґбвў® ўбҐе ўлў®¤Ё¬ле б«®ў (Ё§ вҐа¬Ё «мле бЁ¬ў®«®ў) §лў -
Ґвбп п§лЄ®¬, Ї®а®¦¤ Ґ¬л¬ ¤ ®© Ја ¬¬ вЁЄ®©.
‚ нв®© Ё б«Ґ¤гойЁе Ј« ў е ¬л Ўг¤Ґ¬ 室Ёвм ў®ЄагЈ ¤ ®Є®«®
в Є®Ј® ў®Їа®б : ¤ Љ‘-Ја ¬¬ вЁЄ ; Ї®бва®Ёвм «Ј®аЁв¬, Є®в®ал©
Ї® «оЎ®¬г б«®ўг Їа®ўҐапҐв, ўлў®¤Ё¬® «Ё ®® ў нв®© Ја ¬¬ вЁЄҐ.
ЏаЁ¬Ґа 1. Ђ«д ўЁв:
( ) [ ] E
(зҐвлॠвҐа¬Ё «мле бЁ¬ў®« Ё ®¤Ё ҐвҐа¬Ё «мл© бЁ¬ў®« E).
Ќ з «мл© бЁ¬ў®«: e.
Џа ўЁ« :
E -> (E)
E -> [E]
E -> EE
E ->
(ў Ї®б«Ґ¤Ґ¬ Їа ўЁ«Ґ бЇа ў бв®Ёв Їгб⮥ б«®ў®).
ЏаЁ¬Ґал ўлў®¤Ё¬ле б«®ў:
(Їгб⮥ б«®ў®)
()
([])
()[([])]
[()[]()[]]
ЏаЁ¬Ґал Ґўлў®¤Ё¬ле б«®ў:
(
)(
(]
([)]
ќв Ја ¬¬ вЁЄ ўбваҐз « бм ў а §¤Ґ«Ґ 00 (Ј¤Ґ ўлў®¤Ё¬®бвм ў Ґ©
Їа®ўҐап« бм б Ї®¬®ймо б⥪ ).
ЏаЁ¬Ґа 2. „агЈ п Ја ¬¬ вЁЄ , Ї®а®¦¤ ой п в®в ¦Ґ п§лЄ:
Ђ«д ўЁв: ( ) [ ] T E
Џа ўЁ« :
E ->
E -> TE
T -> (E)
T -> [E]
Ќ з «мл¬ бЁ¬ў®«®¬ ў® ўбҐе ЇаЁў®¤Ё¬ле ¤ «ҐҐ ЇаЁ¬Ґа е Ўг¤Ґ¬ бзЁ-
в вм бЁ¬ў®«, бв®пйЁ© ў «Ґў®© з бвЁ ЇҐаў®Ј® Їа ўЁ« (ў ¤ ®¬
б«гз Ґ нв® бЁ¬ў®« T), Ґ ®Ј®ў аЁў п нв®Ј® ®б®Ў®.
„«п Є ¦¤®Ј® ҐвҐа¬Ё «м®Ј® бЁ¬ў®« ¬®¦® а бᬮваҐвм ¬®-
¦Ґбвў® ўбҐе б«®ў Ё§ вҐа¬Ё «мле бЁ¬ў®«®ў, Є®в®алҐ Ё§ ҐЈ® ўлў®-
¤пвбп ( «®ЈЁз® ⮬г, Є Є н⮠ᤥ« ® ¤«п з «м®Ј® бЁ¬ў®« ў
®ЇаҐ¤Ґ«ҐЁЁ ўлў®¤Ё¬®бвЁ ў Ја ¬¬ вЁЄҐ). Љ ¦¤®Ґ Їа ўЁ«® Ја ¬¬ вЁЄЁ
¬®¦® а бб¬ ваЁў вм Є Є бў®©бвў® нвЁе ¬®¦Ґбвў. Џ®Є ¦Ґ¬ нв®
ЇаЁ¬ҐаҐ в®«мЄ® зв® ЇаЁўҐ¤Ґ®© Ја ¬¬ вЁЄЁ. Џгбвм SetT Ё SetE -
¬®¦Ґбвў б«®ў (Ё§ бЄ®Ў®Є), ўлў®¤Ё¬ле Ё§ ҐвҐа¬Ё «®ў T Ё E б®-
®вўҐвб⢥®. ’®Ј¤ Їа ўЁ« ¬ Ја ¬¬ вЁЄЁ ᮮ⢥вбвўгов в ЄЁҐ
бў®©бвў :
E -> SetE ᮤҐа¦Ёв Їгб⮥ б«®ў®
E -> TE Ґб«Ё б«®ў® A ЇаЁ ¤«Ґ¦Ёв SetT,
б«®ў® B ЇаЁ ¤«Ґ¦Ёв
SetE, в® б«®ў® AB ЇаЁ ¤«Ґ¦Ёв SetE
T -> [E] Ґб«Ё A ЇаЁ ¤«Ґ¦Ёв
SetE, в® б«®ў® [A] ЇаЁ ¤«Ґ¦Ёв SetT
T -> (E) Ґб«Ё A ЇаЁ ¤«Ґ¦Ёв
SetE, в® б«®ў® (A) ЇаЁ ¤«Ґ¦Ёв SetT
‘д®а¬г«Ёа®ў лҐ бў®©бвў ¬®¦Ґбвў SetE, SetT Ґ ®ЇаҐ¤Ґ«пов нвЁ
¬®¦Ґбвў ®¤®§ з® ( ЇаЁ¬Ґа, ®Ё ®бв овбп ўҐал¬Ё, Ґб«Ё ў Є -
зҐб⢥ SetE Ё SetT ў§пвм ¬®¦Ґбвў® ўбҐе б«®ў). Ћ¤ Є® ¬®¦® ¤®-
Є § вм, зв® ¬®¦Ґбвў , § ¤ ў Ґ¬лҐ Ја ¬¬ вЁЄ®©, пў«повбп ¬ЁЁ-
¬ «мл¬Ё б।Ё 㤮ў«Ґвў®апойЁе нвЁ¬ гб«®ўЁп¬.
13.1.1. ‘д®а¬г«Ёаг©вҐ в®з® Ё ¤®Є ¦ЁвҐ нв® г⢥তҐЁҐ ¤«п
Їа®Ё§ў®«м®© Є®вҐЄбв®-бў®Ў®¤®© Ја ¬¬ вЁЄЁ.
13.1.2. Џ®бвன⥠Ја ¬¬ вЁЄг, ў Є®в®а®© ўлў®¤Ё¬л б«®ў
( ) 00..0011..11 (зЁб«® г«Ґ© а ў® зЁб«г Ґ¤ЁЁж);
(Ў) 00..0011..11 (зЁб«® г«Ґ© ў¤ў®Ґ Ў®«миҐ зЁб« Ґ¤ЁЁж);
(ў) 00..0011..11 (зЁб«® г«Ґ© Ў®«миҐ зЁб« Ґ¤ЁЁж);
(Ё в®«мЄ® ®Ё).
13.1.3. „®Є § вм, зв® Ґ бгйҐбвўгҐв Љ‘-Ја ¬¬ вЁЄЁ, ў Є®в®-
а®© Ўл«Ё Ўл ўлў®¤Ё¬л б«®ў ўЁ¤ 00..0011..1122..22, ў Є®в®але
зЁб« г«Ґ©, Ґ¤ЁЁж Ё ¤ў®ҐЄ а ўл, Ё в®«мЄ® ®Ё.
“Є § ЁҐ. „®Є ¦ЁвҐ б«Ґ¤гойго «Ґ¬¬г ® Їа®Ё§ў®«м®© Љ‘-Ја ¬-
¬ вЁЄҐ: ¤«п «оЎ®Ј® ¤®бв в®з® ¤«Ё®Ј® б«®ў F, ўлў®¤Ё¬®Ј® ў
нв®© Ја ¬¬ вЁЄҐ, бгйҐбвўгҐв в Є®Ґ ҐЈ® ЇаҐ¤бв ў«ҐЁҐ ў ўЁ¤Ґ
ABCDE, зв® «оЎ®Ґ б«®ў® ўЁ¤ AB..BCD..DE, Ј¤Ґ B Ё D Ї®ўв®аҐл
®¤Ё Є®ў®Ґ зЁб«® а §, в Є¦Ґ ўлў®¤Ё¬® ў нв®© Ја ¬¬ вЁЄҐ. (ќв®
¬®¦® гбв ®ўЁвм, ©¤п ҐвҐа¬Ё «мл© бЁ¬ў®«, ®Є §лў ойЁ©бп
бў®Ё¬ б®ЎбвўҐл¬ " б«Ґ¤ЁЄ®¬" ў Їа®жҐбᥠўлў®¤ .)
ЌҐвҐа¬Ё «мл© бЁ¬ў®« ¬®¦® а бб¬ ваЁў вм Є Є "த®ў®Ґ Ё¬п"
¤«п ўлў®¤Ё¬ле Ё§ ҐЈ® б«®ў. ‚ б«Ґ¤го饬 ЇаЁ¬ҐаҐ ¤«п Ј«п¤®бвЁ
ў Є зҐб⢥ ҐвҐа¬Ё «мле бЁ¬ў®«®ў ЁбЇ®«м§®ў л да Ј¬Ґвл
агббЄЁе б«®ў, § Є«озҐлҐ ў гЈ«®ўлҐ бЄ®ЎЄЁ. (‘ в®зЄЁ §аҐЁп
Ја ¬¬ вЁЄЁ Є ¦¤®Ґ в Є®Ґ б«®ў® - ®¤Ё бЁ¬ў®«!)
ЏаЁ¬Ґа 3. Ђ«д ўЁв:
вҐа¬Ё «л: + * ( ) x
ҐвҐа¬Ё «л: <ўла>, <®бвўла>, <б« Ј>, <®бвб« Ј>, <¬®¦>
Їа ўЁ« :
<ўла> -> <б« Ј> <®бвўла>
<®бвўла> -> + <ўла>
<®бвўла> ->
<б« Ј> -> <¬®¦> <®бвб« Ј>
<®бвб« Ј> -> * <б« Ј>
<®бвб« Ј> ->
<¬®¦> -> x
<¬®¦> -> ( <ўла> )
‘®Ј« б® нв®© Ја ¬¬ вЁЄҐ, ўла ¦ҐЁҐ (<ўла>) - нв® Ї®б«Ґ¤®ў -
⥫м®бвм б« Ј Ґ¬ле (<б« Ј>), а §¤Ґ«Ґле Ї«об ¬Ё, б« Ј Ґ¬®Ґ -
нв® Ї®б«Ґ¤®ў ⥫м®бвм ¬®¦ЁвҐ«Ґ© (<¬®¦>), а §¤Ґ«Ґле §ўҐ§¤®з-
Є ¬Ё (§ Є ¬Ё 㬮¦ҐЁп), ¬®¦ЁвҐ«м - нв® «ЁЎ® ЎгЄў x, «ЁЎ®
ўла ¦ҐЁҐ ў бЄ®ЎЄ е.
13.1.4. ЏаЁўҐ¤ЁвҐ ЇаЁ¬Ґа ¤агЈ®© Ја ¬¬ вЁЄЁ, § ¤ о饩 в®в ¦Ґ
п§лЄ.
ЋвўҐв. ‚®в ®¤Ё Ё§ ў аЁ в®ў:
<ўла> -> <ўла> + <ўла>
<ўла> -> <ўла> * <ўла>
<ўла> -> x
<ўла> -> ( <ўла> )
ќв Ја ¬¬ вЁЄ е®вм Ё Їа®йҐ, ® ў ҐЄ®в®але ®в®иҐЁпе е㦥, ®
祬 ¬л ҐйҐ Ўг¤Ґ¬ Ј®ў®аЁвм.
13.1.5. „ Їа®Ё§ў®«м п Љ‘-Ја ¬¬ вЁЄ . Џ®бва®Ёвм «Ј®аЁв¬
Їа®ўҐаЄЁ ЇаЁ ¤«Ґ¦®бвЁ § ¤ ў Ґ¬®¬г Ґ© п§лЄг, а Ў®в ойЁ© Ї®«Ё®-
¬Ё «м®Ґ ўаҐ¬п (в.Ґ. зЁб«® ¤Ґ©бвўЁ© Ґ ЇаҐў®б室Ёв Ї®«Ё®¬ ®в
¤«Ёл Їа®ўҐа塞®Ј® б«®ў ; Ї®«Ё®¬ ¬®¦Ґв § ўЁбҐвм ®в Ја ¬¬ вЁЄЁ).
ђҐиҐЁҐ. ‡ ¬ҐвЁ¬, зв® вॡ®ў ЁҐ Ї®«Ё®¬Ё «м®бвЁ ЁбЄ«оз Ґв
ў®§¬®¦®бвм аҐиҐЁп, ®б®ў ®¬ ЇҐаҐЎ®аҐ ўбҐе ў®§¬®¦ле ўлў®-
¤®ў. ’Ґ¬ Ґ ¬ҐҐҐ Ї®«Ё®¬Ё «мл© «Ј®аЁв¬ бгйҐбвўгҐв. Џ®бЄ®«мЄг
Їа ЄвЁзҐбЄ®Ј® § зҐЁп ® Ґ Ё¬ҐҐв (ЁбЇ®«м§гҐ¬лҐ Їа ЄвЁЄҐ
Љ‘-Ја ¬¬ вЁЄЁ ®Ў« ¤ ов ¤®Ї®«ЁвҐ«мл¬Ё бў®©бвў ¬Ё, Ї®§ў®«пойЁ¬Ё
бва®Ёвм Ў®«ҐҐ нддҐЄвЁўлҐ «Ј®аЁв¬л), ¬л Ё§«®¦Ё¬ «Ёим ®Ўйго беҐ-
¬г аҐиҐЁп.
(1) Џгбвм ў Ја ¬¬ вЁЄҐ Ґбвм ҐвҐа¬Ё «л K1,...,Kn. Џ®бва®Ё¬
®ўго Ја ¬¬ вЁЄг б ҐвҐа¬Ё « ¬Ё K1',...,Kn' в Є, зв®Ўл ўлЇ®«п-
«®бм в Є®Ґ бў®©бвў®: Ё§ Ki' ўлў®¤пвбп (ў ®ў®© Ја ¬¬ вЁЄҐ) ⥠¦Ґ
б«®ў , зв® Ё§ Ki ў бв а®©, § ЁбЄ«о票Ґ¬ Їгбв®Ј® б«®ў , Є®в®а®Ґ
Ґ ўлў®¤Ёвбп.
—в®Ўл ўлЇ®«Ёвм в Є®Ґ ЇаҐ®Ўа §®ў ЁҐ Ја ¬¬ вЁЄЁ, ¤® ўлпб-
Ёвм, Ё§ Є ЄЁе ҐвҐа¬Ё «®ў Ёб室®© Ја ¬¬ вЁЄЁ ўлў®¤Ёвбп Їгб⮥
б«®ў®, § ⥬ Є ¦¤®Ґ Їа ўЁ«® § ¬ҐЁвм б®ў®ЄгЇ®бвм Їа ўЁ«,
Ї®«гз ойЁебп, Ґб«Ё ў Їа ў®© з бвЁ ®ЇгбвЁвм Є ЄЁҐ-«ЁЎ® Ё§ ҐвҐа-
¬Ё «®ў, Ё§ Є®в®але ўлў®¤Ёвбп Їгб⮥ б«®ў®, г ®бв «мле Ї®бв -
ўЁвм иваЁеЁ. Ќ ЇаЁ¬Ґа, Ґб«Ё ў Ёб室®© Ја ¬¬ вЁЄҐ Ўл«® Їа ўЁ«®
K -> L M N,
ЇаЁзҐ¬ Ё§ L Ё N ўлў®¤Ёвбп Їгб⮥ б«®ў®, Ё§ M Ґв, в® нв® Їа -
ўЁ«® ¤® § ¬ҐЁвм Їа ўЁ«
K'-> L'M'N'
K'-> M'N'
K'-> L'M'
K'-> M'
(2) €в Є, ¬л ᢥ«Ё ¤Ґ«® Є Ја ¬¬ вЁЄҐ, Ј¤Ґ Ё Ё§ ®¤®Ј® Ґ-
вҐа¬Ё « Ґ ўлў®¤Ёвбп Їгб⮥ б«®ў®. ’ҐЇҐам гбва Ё¬ "жЁЄ«л" ўЁ-
¤
K -> L
L -> M
M -> N
N -> K
(ў Їа ў®© з бвЁ Є ¦¤®Ј® Їа ўЁ« ®¤Ё бЁ¬ў®«, Ё нвЁ бЁ¬ў®«л ®Ўа -
§гов жЁЄ« Їа®Ё§ў®«м®© ¤«Ёл): нв® «ҐЈЄ® ᤥ« вм, ®в®¦¤ҐбвўЁў
ўбҐ ўе®¤пйЁҐ ў жЁЄ« ҐвҐа¬Ё «л.
(3) ’ҐЇҐам Їа®ўҐаЄ ЇаЁ ¤«Ґ¦®бвЁ Є Є®Ј®-«ЁЎ® б«®ў п§лЄг,
Ї®а®¦¤Ґ®¬г Ја ¬¬ вЁЄ®©, ¬®¦Ґв ўлЇ®«пвмбп в Є: ¤«п Є ¦¤®Ј®
Ї®¤б«®ў Їа®ўҐа塞®Ј® б«®ў Ё ¤«п Є ¦¤®Ј® ҐвҐа¬Ё « ўлпб塞,
Ї®а®¦¤ Ґвбп «Ё нв® Ї®¤б«®ў® нвЁ¬ ҐвҐа¬Ё «®¬. ЏаЁ н⮬ Ї®¤б«®ў
Їа®ўҐаповбп ў Ї®ап¤ЄҐ ў®§а бв Ёп ¤«Ё, ҐвҐа¬Ё «л - ў в Є®¬
Ї®ап¤ЄҐ, зв®Ўл ЇаЁ «ЁзЁЁ Їа ўЁ« K -> L ҐвҐа¬Ё « L Їа®ўҐап«-
бп а миҐ ҐвҐа¬Ё « K. (ќв® ў®§¬®¦® ў бЁ«г ®вбгвбвўЁп жЁЄ-
«®ў.) Џ®пбЁ¬ нв®в Їа®жҐбб ЇаЁ¬ҐаҐ.
Џгбвм ў Ја ¬¬ вЁЄҐ Ґбвм Їа ўЁ«
K -> L
K -> M N L
Ё ¤агЈЁе Їа ўЁ«, ᮤҐа¦ йЁе K ў «Ґў®© з бвЁ, Ґв. Њл е®вЁ¬ г§-
вм, ўлў®¤Ёвбп «Ё ¤ ®Ґ б«®ў® A Ё§ ҐвҐа¬Ё « K. ќв® Ўг¤Ґв
в Є ў ®¤®¬ Ё§ б«гз Ґў: (1) Ґб«Ё A ўлў®¤Ёвбп Ё§ L; (2) Ґб«Ё A
¬®¦® а §ЎЁвм ҐЇгбвлҐ б«®ў B, C, D, ¤«п Є®в®але B ўлў®¤Ёвбп
Ё§ M, C ўлў®¤Ёвбп Ё§ N, D ўлў®¤Ёвбп Ё§ L. ‚бп нв Ёд®а¬ жЁп
㦥 Ґбвм (б«®ў B, C, D Є®а®зҐ A, L а бᬮвॠ¤® K).
‹ҐЈЄ® ўЁ¤Ґвм, зв® зЁб«® ¤Ґ©бвўЁ© нв®Ј® «Ј®аЁв¬ Ї®«Ё®¬Ё-
«м®. ‘⥯Ґм Ї®«Ё®¬ § ўЁбЁв ®в зЁб« ҐвҐа¬Ё «®ў ў Їа ўле
з бвпе Їа ўЁ« Ё ¬®¦Ґв Ўлвм Ї®Ё¦Ґ , Ґб«Ё Ја ¬¬ ⨪㠯८Ўа §®-
ў вм Є д®а¬Ґ, ў Є®в®а®© Їа ў п з бвм Є ¦¤®Ј® Їа ўЁ« ᮤҐа¦Ёв 1
Ё«Ё 2 ҐвҐа¬Ё « (нв® «ҐЈЄ® ᤥ« вм, ўў®¤п ®ўлҐ ҐвҐа¬Ё «л:
ЇаЁ¬Ґа, Їа ўЁ«® K -> LMK ¬®¦® § ¬ҐЁвм K -> LN Ё N -> MK,
Ј¤Ґ N - ®ўл© ҐвҐа¬Ё «).
13.1.6. ђ бᬮваЁ¬ Ја ¬¬ вЁЄг б Ґ¤ЁбвўҐл¬ ҐвҐа¬Ё «®¬
K, ҐвҐа¬Ё « ¬Ё 1, 2, 3 Ё Їа ўЁ« ¬Ё
K -> 0
K -> 1 K
K -> 2 K K
K -> 3 K K K
Љ Є Їа®ўҐаЁвм ўлў®¤Ё¬®бвм б«®ў ў нв®© Ја ¬¬ вЁЄҐ, зЁв п б«®ў®
б«Ґў Їа ў®? (—Ёб«® ¤Ґ©бвўЁ© ЇаЁ Їа®з⥨Ё ®¤®© ЎгЄўл ¤®«¦®
Ўлвм ®Ја ЁзҐ®.)
ђҐиҐЁҐ. •а Ёвбп 楫 п ЇҐаҐ¬Ґ п n, Ёў аЁ в: б«®ў® ўл-
ў®¤Ё¬® <-> ҐЇа®зЁв п з бвм ЇаҐ¤бв ў«пҐв б®Ў®© Є®Є ⥠жЁо
(ᮥ¤ЁҐЁҐ) n ўлў®¤Ё¬ле б«®ў.
13.1.7. ’®в ¦Ґ ў®Їа®б ¤«п Ја ¬¬ вЁЄЁ
K -> 0
K -> K 1
K -> K K 2
K -> K K K 3
13.2. ЊҐв®¤ ४габЁў®Ј® бЇгбЄ .
‚ ®в«ЁзЁҐ ®в «Ј®аЁв¬ ЇаҐ¤л¤г饣® а §¤Ґ« (ЇаҐ¤бв ў«по饣®
зЁб⮠⥮аҐвЁзҐбЄЁ© ЁвҐаҐб), «Ј®аЁв¬л ®б®ўҐ ४габЁў®Ј®
бЇгбЄ з бв® ЁбЇ®«м§говбп Їа ЄвЁЄҐ. ќв®в ¬Ґв®¤ ЇаЁ¬ҐЁ¬, ®¤-
Є®, ¤ «ҐЄ® Ґ Є® ўбҐ¬ Ја ¬¬ вЁЄ ¬. Њл ®Ўбг¤Ё¬ Ґ®Ўе®¤Ё¬лҐ ®Ј-
а ЁзҐЁп Ї®§¤ҐҐ.
€¤Ґп ¬Ґв®¤ ४габЁў®Ј® бЇгбЄ в Є®ў . „«п Є ¦¤®Ј® ҐвҐа-
¬Ё « K ¬л бва®Ё¬ Їа®жҐ¤гаг ReadK, Є®в®а п - ў ЇаЁ¬ҐҐЁЁ Є «о-
Ў®¬г ўе®¤®¬г б«®ўг x - ¤Ґ« Ґв ¤ўҐ ўҐйЁ:
(1) 室Ёв ЁЎ®«м襥 з «® z б«®ў x, Є®в®а®Ґ ¬®¦Ґв Ўлвм
з «®¬ ўлў®¤Ё¬®Ј® Ё§ K б«®ў ;
(2) б®®Ўй Ґв, пў«пҐвбп «Ё ©¤Ґ®Ґ б«®ў® z ўлў®¤Ё¬л¬ Ё§ K.
ЏаҐ¦¤Ґ 祬 ®ЇЁблў вм нв®в ¬Ґв®¤ Ў®«ҐҐ Ї®¤а®Ў®, ¤®Ј®ў®аЁ¬бп
® ⮬, Є Є Їа®жҐ¤гал Ї®«гз ов ᢥ¤ҐЁп ® ўе®¤®¬ б«®ўҐ Ё Є Є б®-
®Ўй ов ® १г«мв в е бў®Ґ© а Ў®вл. Њл ЇаҐ¤Ї®« Ј Ґ¬, зв® ЎгЄўл
ўе®¤®Ј® б«®ў Ї®бвгЇ ов Є Ё¬ Ї® ®¤®©, в.Ґ. Ё¬ҐҐвбп Ја Ёж ,
®в¤Ґ«пой п "Їа®зЁв го" з бвм ®в "ҐЇа®зЁв ®©". Ѓг¤Ґ¬ бзЁ-
в вм, зв® Ґбвм дгЄжЁп (ЎҐ§ Ї а ¬Ґва®ў)
Next: Symbol
¤ ой п ЇҐаўл© ҐЇа®зЁв л© бЁ¬ў®«. …Ґ § 票ﬨ ¬®Јгв Ўлвм
вҐа¬Ё «млҐ бЁ¬ў®«л, в Є¦Ґ бЇҐжЁ «мл© бЁ¬ў®« EOI (End Of
Input - Є®Ґж ўе®¤ ), ®§ з ойЁ©, зв® ўбҐ б«®ў® 㦥 Їа®зЁв ®.
‚맮ў нв®© дгЄжЁЁ, ҐбвҐб⢥®, Ґ б¤ўЁЈ Ґв Ја Ёжл ¬Ґ¦¤г Їа®-
зЁв ®© Ё ҐЇа®зЁв ®© з бвмо - ¤«п нв®Ј® Ґбвм Їа®жҐ¤га Move,
Є®в®а п б¤ўЁЈ Ґв Ја Ёжг ®¤Ё бЁ¬ў®«. (Ћ ЇаЁ¬ҐЁ¬ , Ґб«Ё
Next <> EOI.) Џгбвм, Є®Ґж, Ё¬ҐҐвбп Ўг«ҐўбЄ п ЇҐаҐ¬Ґ п b.
’ҐЇҐам ¬л ¬®¦Ґ¬ бд®а¬г«Ёа®ў вм иЁ вॡ®ў Ёп Є Їа®жҐ¤гаҐ
ReadK. ЋЁ б®бв®пв ў б«Ґ¤го饬:
(1) ReadK Їа®зЁвлў Ґв Ё§ ®б⠢襩бп з бвЁ б«®ў ¬ ЄбЁ-
¬ «м®Ґ з «® A, пў«по饥бп з «®¬ ҐЄ®в®а®Ј® б«®ў , ўлў®¤Ё¬®-
Ј® Ё§ K;
(2) § 票Ґ b бв ®ўЁвбп ЁбвЁл¬ Ё«Ё «®¦л¬ ў § ўЁбЁ¬®бвЁ
®в в®Ј®, пў«пҐвбп «Ё A ўлў®¤Ё¬л¬ Ё§ K Ё«Ё «Ёим Ґўлў®¤Ё¬л¬ з -
«®¬ ўлў®¤Ё¬®Ј® (Ё§ K) б«®ў .
„«п 㤮Ўбвў ўўҐ¤Ґ¬ в Єго вҐа¬Ё®«®ЈЁо: ўлў®¤Ё¬®Ґ Ё§ K б«®-
ў® Ўг¤Ґ¬ §лў вм K-б«®ў®¬, «оЎ®Ґ з «® «оЎ®Ј® ўлў®¤Ё¬®Ј® Ё§
K б«®ў - K- з «®¬. ’ॡ®ў Ёп (1) Ё (2) ў¬Ґб⥠Ўг¤Ґ¬ ўла ¦ вм
б«®ў ¬Ё "ReadK Є®а४⠤«п K".
Ќ 祬 б а бᬮв२п з бв®Ј® б«гз п. Џгбвм Їа ўЁ«®
K -> L M
пў«пҐвбп Ґ¤ЁбвўҐл¬ Їа ўЁ«®¬ Ја ¬¬ вЁЄЁ, ᮤҐа¦ йЁ¬ K ў «Ґў®©
з бвЁ, Їгбвм L, M - ҐвҐа¬Ё «л Ё ReadL, ReadM - Є®а४влҐ (¤«п
Ёе) Їа®жҐ¤гал.
ђ бᬮваЁ¬ в Єго Їа®жҐ¤гаг:
procedure ReadK;
begin
| ReadL;
| if b then begin
| | ReadM;
| end;
end;
13.2.1. ЏаЁўҐбвЁ ЇаЁ¬Ґа, Є®Ј¤ нв Їа®жҐ¤га Ўг¤Ґв ҐЄ®а-
४⮩ ¤«п K.
ЋвўҐв. Џгбвм Ё§ L ўлў®¤Ёвбп «оЎ®Ґ б«®ў® ўЁ¤ 00..00, Ё§ M
ўлў®¤Ёвбп «Ёим б«®ў® 01. ’®Ј¤ Ё§ K ўлў®¤Ёвбп б«®ў® 00001, ®
Їа®жҐ¤га ReadK нв®Ј® Ґ § ¬ҐвЁв.
“Є ¦Ґ¬ ¤®бв в®з®лҐ гб«®ўЁп Є®а४в®бвЁ Їа®жҐ¤гал ReadK.
„«п нв®Ј® ¬ Ї® ¤®Ўпвбп ҐЄ®в®алҐ ®Ў®§ 票п. Џгбвм дЁЄбЁа®-
ў л Љ‘-Ја ¬¬ вЁЄ Ё ҐЄ®в®ал© ҐвҐа¬Ё « N нв®© Ја ¬¬ вЁЄЁ.
ђ бᬮваЁ¬ N-б«®ў® A, Є®в®а®Ґ Ё¬ҐҐв б®Ўб⢥®Ґ з «® B, в Є¦Ґ
пў«по饥бп N-б«®ў®¬ (Ґб«Ё в ЄЁҐ Ґбвм). „«п «оЎ®© Ї ал в ЄЁе б«®ў
A Ё B а бᬮваЁ¬ вҐа¬Ё «мл© бЁ¬ў®«, Ё¤гйЁ© ў A ҐЇ®б।б⢥®
§ B. Њ®¦Ґбвў® ўбҐе в ЄЁе вҐа¬Ё «®ў ®Ў®§ зЁ¬ Џ®б«(N). (…б«Ё
ЁЄ Є®Ґ N-б«®ў® Ґ пў«пҐвбп б®ЎбвўҐл¬ з «®¬ ¤агЈ®Ј® N-б«®ў ,
в® ¬®¦Ґбвў® Џ®б«(N) Їгбв®.)
13.2.2. “Є § вм ( ) Џ®б«(E) ¤«п ЇаЁ¬Ґа 1; (Ў) Џ®б«(E) Ё
Џ®б«(T) ¤«п ЇаЁ¬Ґа 2; (ў) Џ®б«(<б« Ј>) Ё Џ®б«(<¬®¦>) ¤«п ЇаЁ-
¬Ґа 3.
ЋвўҐв. ( ) Џ®б«(e) = { [, ( }. (Ў) Џ®б«(e) = { [, ( };
Џ®б«(t) Їгбв® (ЁЄ Є®Ґ t-б«®ў® Ґ пў«пҐвбп з «®¬ ¤агЈ®Ј®). (ў)
Џ®б«(<б« Ј>) = {*}; Џ®б«(<¬®¦>) Їгбв®.
Ља®¬Ґ в®Ј®, ¤«п Є ¦¤®Ј® ҐвҐа¬Ё « N ®Ў®§ зЁ¬ зҐаҐ§ Ќ з(N)
¬®¦Ґбвў® ўбҐе вҐа¬Ё «®ў, пў«пойЁебп ЇҐаўл¬Ё ЎгЄў ¬Ё ҐЇгбвле
N-б«®ў. ќв® ®Ў®§ 票Ґ - ў¬ҐбвҐ б ЇаҐ¤л¤гйЁ¬ - Ї®§ў®«Ёв ¤ вм
¤®бв в®з®Ґ гб«®ўЁҐ Є®а४в®бвЁ Їа®жҐ¤гал ReadK ў ®ЇЁб ®© ўл-
иҐ бЁвг жЁЁ.
13.2.3. „®Є § вм, зв® Ґб«Ё Џ®б« (L) Ґ ЇҐаҐбҐЄ Ґвбп б
Ќ з(M) Ё ¬®¦Ґбвў® ўбҐе M-б«®ў ҐЇгбв®, в® ReadK Є®а४в .
ђҐиҐЁҐ. ђ бᬮваЁ¬ ¤ў б«гз п. (1) Џгбвм Ї®б«Ґ ReadL § -
票Ґ ЇҐаҐ¬Ґ®© b «®¦®. ‚ н⮬ б«гз Ґ ReadM зЁв Ґв б® ўе®¤
¬ ЄбЁ¬ «м®Ґ M- з «® A, Ґ пў«по饥бп M-б«®ў®¬. Ћ® пў«пҐвбп
K- з «®¬ (§¤Ґбм ў ¦®, зв® ¬®¦Ґбвў® L-б«®ў ҐЇгбв®.). Ѓг¤Ґв «Ё
®® ¬ ЄбЁ¬ «мл¬ K- з «®¬ б।Ё з « ўе®¤ ? …б«Ё Ґв, в® A пў-
«пҐвбп з «®¬ б«®ў BC, Ј¤Ґ B Ґбвм L-б«®ў®, C Ґбвм M- з «® Ё
BC - Ў®«ҐҐ ¤«Ё®Ґ з «® ўе®¤ , 祬 A. …б«Ё B ¤«ЁҐҐ A, в® A -
Ґ ¬ ЄбЁ¬ «м®Ґ з «® ўе®¤ , пў«по饥бп L- з «®¬, зв® Їа®вЁў®-
аҐзЁв Є®а४в®бвЁ ReadL. …б«Ё B = A, в® A Ўл«® Ўл L-б«®ў®¬,
нв® Ґ в Є. ‡ зЁв, B Є®а®зҐ A, C ҐЇгбв® Ё ЇҐаўл© бЁ¬ў®« б«®ў
C б«Ґ¤гҐв ў A § Ї®б«Ґ¤Ё¬ бЁ¬ў®«®¬ б«®ў B, в.Ґ. Џ®б«(L) ЇҐаҐ-
ᥪ Ґвбп б Ќ з(M). Џа®вЁў®аҐзЁҐ. €в Є, A ¬ ЄбЁ¬ «м®. €§ бЄ § -
®Ј® б«Ґ¤гҐв в Є¦Ґ, зв® A Ґ пў«пҐвбп K-б«®ў®¬. Љ®а४в®бвм
Їа®жҐ¤гал ReadK ў н⮬ б«гз Ґ Їа®ўҐаҐ .
(2) Џгбвм Ї®б«Ґ ReadL § 票Ґ ЇҐаҐ¬Ґ®© b ЁбвЁ®. ’®Ј¤
Їа®зЁв ®Ґ Їа®жҐ¤га®© ReadK з «® ўе®¤ Ё¬ҐҐв ўЁ¤ AB, Ј¤Ґ A
Ґбвм L-б«®ў®, B Ґбвм M- з «®. ’Ґ¬ б ¬л¬ AB Ґбвм K- з «®.
Џа®ўҐаЁ¬ ҐЈ® ¬ ЄбЁ¬ «м®бвм. Џгбвм C Ґбвм Ў®«м襥 K- з «®. ’®Ј-
¤ «ЁЎ® C Ґбвм L- з «® (зв® Ґў®§¬®¦®, в Є Є Є A Ўл«® ¬ ЄбЁ-
¬ «мл¬ L- з «®¬), «ЁЎ® C = A'B', Ј¤Ґ A' - L-б«®ў®, B' - M- -
з «®. …б«Ё A' Є®а®зҐ A, в® B' ҐЇгбв® Ё зЁ Ґвбп б бЁ¬ў®« ,
ЇаЁ ¤«Ґ¦ 饣® Ё Ќ з(M), Ё Џ®б«(L), зв® Ґў®§¬®¦®. …б«Ё A'
¤«ЁҐҐ A, в® нв® Їа®вЁў®аҐзЁв ⮬г, зв® A Ўл«® ¬ ЄбЁ¬ «мл¬.
€в Є, A' = A. Ќ® ў н⮬ б«гз Ґ B' Ґбвм Їа®¤®«¦ҐЁҐ B, зв® Їа®вЁ-
ў®аҐзЁв Є®а४в®бвЁ ReadM. €в Є, AB - ¬ ЄбЁ¬ «м®Ґ K- з «®.
Ћбв Ґвбп Їа®ўҐаЁвм Їа ўЁ«м®бвм ўл¤ ў Ґ¬®Ј® Їа®жҐ¤га®© ReadK
§ зҐЁп ЇҐаҐ¬Ґ®© b. …б«Ё ®® ЁбвЁ®, в® нв® ®зҐўЁ¤®. …б«Ё
®® «®¦®, в® B Ґ Ґбвм M-б«®ў®, Ё ¤® Їа®ўҐаЁвм, зв® AB - Ґ
K-б«®ў®. ‚ б ¬®¬ ¤Ґ«Ґ, Ґб«Ё Ўл ўлЇ®«п«®бм AB = A'B', Ј¤Ґ A' -
L-б«®ў®, B' - M-б«®ў®, в® A' Ґ ¬®¦Ґв Ўлвм ¤«ЁҐҐ A (ReadL зЁ-
в Ґв ¬ ЄбЁ¬ «м®Ґ б«®ў®), A' Ґ ¬®¦Ґв Ўлвм а ў® A (в®Ј¤ B'
а ў® B Ё Ґ пў«пҐвбп M-б«®ў®¬) Ё A' Ґ ¬®¦Ґв Ўлвм Є®а®зҐ A
(в®Ј¤ ЇҐаўл© бЁ¬ў®« B' ЇаЁ ¤«Ґ¦Ёв Ё Ќ з(M), Ё Џ®б«(L)). ‡ ¤ з
аҐиҐ .
ЏҐаҐ©¤Ґ¬ ⥯Ґам Є ¤агЈ®¬г з б⮬г б«гз о. Џгбвм ў Љ‘-Ја ¬-
¬ вЁЄҐ Ґбвм Їа ўЁ«
K -> L
K -> M
K -> N
Ё ¤агЈЁе Їа ўЁ« б «Ґў®© з бвмо K Ґв.
13.2.4. ‘зЁв п, зв® ReadL, ReadM Ё ReadN Є®а४вл (¤«п L,
M Ё N) Ё зв® ¬®¦Ґбвў Ќ з(L), Ќ з(M) Ё Ќ з(N) Ґ ЇҐаҐбҐЄ овбп,
ЇЁб вм Їа®жҐ¤гаг, Є®а४вго ¤«п K.
ђҐиҐЁҐ. ‘奬 Їа®жҐ¤гал в Є®ў :
procedure ReadK;
begin
| if (Next ЇаЁ ¤«Ґ¦Ёв Ќ з(L)) then begin
| | ReadL;
| end else if (Next ЇаЁ ¤«Ґ¦Ёв Ќ з(M)) then begin
| | ReadM;
| end else if (Next ЇаЁ ¤«Ґ¦Ёв Ќ з(N)) then begin
| | ReadN;
| end else begin
| | b := true Ё«Ё false ў § ўЁбЁ¬®бвЁ ®в в®Ј®,
| | ўлў®¤Ё¬® «Ё Їгб⮥ б«®ў® Ё§ K Ё«Ё Ґв
| end;
end;
„®Є ¦Ґ¬, зв® ReadK Є®а४⮠ॠ«Ё§гҐв K. …б«Ё Next Ґ ЇаЁ ¤«Ґ-
¦Ёв Ё ®¤®¬г Ё§ ¬®¦Ґбвў Ќ з(L), Ќ з(M), Ќ з(N),в® Їгб⮥ б«®ў®
пў«пҐвбп ЁЎ®«миЁ¬ з «®¬ ўе®¤ , пў«пойЁ¬бп K- з «®¬. …б«Ё
Next ЇаЁ ¤«Ґ¦Ёв ®¤®¬г (Ё, б«Ґ¤®ў ⥫м®, в®«мЄ® ®¤®¬г) Ё§
нвЁе ¬®¦Ґбвў, в® ¬ ЄбЁ¬ «м®Ґ з «® ўе®¤ , пў«по饥бп K- з -
«®¬, ҐЇгбв® Ё зЁв Ґвбп ᮮ⢥вбвўго饩 Їа®жҐ¤га®©.
13.2.5. €бЇ®«м§гп бЄ § ®Ґ, б®бв ўм⥠Їа®жҐ¤гаг а бЇ®§ -
ў Ёп ўла ¦ҐЁ© ¤«п Ја ¬¬ вЁЄЁ (㦥 а бб¬ ваЁў ўиҐ©бп ў ЇаЁ¬ҐаҐ
3):
<ўла> -> <б« Ј> <®бвўла>
<®бвўла> -> + <ўла>
<®бвўла> ->
<б« Ј> -> <¬®¦> <®бвб« Ј>
<®бвб« Ј> -> * <б« Ј>
<®бвб« Ј> ->
<¬®¦> -> x
<¬®¦> -> ( <ўла> )
ђҐиҐЁҐ. ќв Ја ¬¬ вЁЄ Ґ Ї®«®бвмо Ї®¤Ї ¤ Ґв Ї®¤ а бᬮв-
аҐлҐ з бвлҐ б«гз Ё: ў Їа ўле з бвпе Ґбвм Є®¬ЎЁ жЁЁ вҐа¬Ё -
«®ў Ё ҐвҐа¬Ё «®ў
+ <ўла>
Ё ЈагЇЇл Ё§ ваҐе бЁ¬ў®«®ў
( <ўла> )
‚ Ја ¬¬ вЁЄҐ Ґбвм в Є¦Ґ ҐбЄ®«мЄ® Їа ўЁ« б ®¤®© «Ґў®© з бвмо Ё
б Їа ўл¬Ё з бвп¬Ё а §®Ј® த , ЇаЁ¬Ґа
<®бвўла> -> + <ўла>
<®бвўла> ->
ќвЁ ®Ја ЁзҐЁп Ґ пў«повбп ЇаЁжЁЇЁ «мл¬Ё. ’ Є, Їа ўЁ«® вЁЇ
K -> L M N
¬®¦® Ўл«® Ўл § ¬ҐЁвм ¤ў Їа ўЁ« K -> LQ Ё Q -> MN, вҐа¬Ё-
«млҐ бЁ¬ў®«л ў Їа ў®© з бвЁ - ҐвҐа¬Ё «л (б Ґ¤Ёб⢥л¬
Їа ўЁ«®¬ § ¬Ґл ᮮ⢥вбвўгойЁҐ вҐа¬Ё «л). ЌҐбЄ®«мЄ® Їа ўЁ«
б ®¤®© «Ґў®© з бвмо Ё а §®а®¤л¬Ё Їа ўл¬Ё в Є¦Ґ ¬®¦® ᢥбвЁ Є
㦥 а §®Ўа ®¬г б«гз о: ЇаЁ¬Ґа,
K -> L M N
K -> P Q
K ->
¬®¦® § ¬ҐЁвм Їа ўЁ«
K -> K1
K -> K2
K -> K3
K1 -> L M N
K2 -> P Q
K3 ->
Ќ® ¬л Ґ Ўг¤Ґ¬ нв®Ј® ¤Ґ« вм - ба §г ¦Ґ § ЇЁиҐ¬ в®, зв® Ї®«г-
зЁвбп, Ґб«Ё Ї®¤бв ўЁвм ®ЇЁб Ёп Їа®жҐ¤га ¤«п ®ўле вҐа¬Ё «мле
бЁ¬ў®«®ў ў ¬Ґбв Ёе ЁбЇ®«м§®ў Ёп. Ќ ЇаЁ¬Ґа, ¤«п Їа ўЁ«
K -> L M N
нв® ¤ Ґв Їа®жҐ¤гаг
procedure ReadK;
begin
| ReadL;
| if b then begin ReadM; end;
| if b then begin ReadN; end;
end;
„«п ҐҐ Є®а४в®бвЁ ¤®, зв®Ўл Џ®б«(L) Ґ ЇҐаҐбҐЄ «®бм б
Ќ з(MN) (Є®в®а®Ґ а ў® Ќ з(M), Ґб«Ё Ё§ M Ґ ўлў®¤Ёвбп Їгб⮥
б«®ў®, Ё а ў® ®ЎкҐ¤ЁҐЁо Ќ з(M) Ё Ќ з(N), Ґб«Ё ўлў®¤Ёвбп),
в Є¦Ґ зв®Ўл Џ®б«(M) Ґ ЇҐаҐбҐЄ «®бм б Ќ з(N).
Ђ «®ЈЁзл¬ ®Ўа §®¬ Їа ўЁ«
K -> L M N
K -> P Q
K ->
ЇаЁў®¤пв Є Їа®жҐ¤гаҐ
procedure ReadK;
begin
| if (Next ЇаЁ ¤«Ґ¦Ёв Ќ з(LMN)) then begin
| | ReadB;
| | if b then begin ReadM; end;
| | if b then begin ReadN; end;
| end else if (Next ЇаЁ ¤«Ґ¦Ёв Ќ з(PQ)) then begin
| | ReadP;
| | if b then begin ReadQ; end;
| end else begin
| | b := true;
| end;
end;
—Ёв п ЇаЁўҐ¤Ґго ¤ «ҐҐ Їа®Ја ¬¬г, Ї®«Ґ§® Ё¬Ґвм ў ўЁ¤г б®®в-
ўҐвбвўЁҐ ¬Ґ¦¤г агббЄЁ¬Ё Ё Ј«Ё©бЄЁ¬Ё б«®ў ¬Ё:
‚›ђ ¦ҐЁҐ EXPRession
Ћ‘’ в®Є ‚›ђ ¦ҐЁп REST of EXPRession
‘‹Ђѓ Ґ¬®Ґ ADDitive term
Ћ‘’ в®Є ‘‹Ђѓ Ґ¬®Ј® REST of ADDitive term
ЊЌЋ†ЁвҐ«м MULTiplier
procedure ReadSymb (c: Symbol);
| b := (Next = c);
| if b then begin Move; end;
end;
procedure ReadExpr;
| ReadAdd;
| if b then begin ReadRestExpr; end;
end;
procedure ReadRestExpr;
| if Next = '+' then begin
| | ReadSymb ('+');
| | if b then begin ReadExpr; end;
| end else begin
| | b := true;
| end;
end;
procedure ReadAdd;
| ReadMult;
| if b then begin ReadRestAdd; end;
end;
procedure ReadRestAdd;
| if Next = '*' then begin
| | ReadSymb ('*');
| | if b then begin ReadAdd; end;
| end else begin
| | b := true;
| end;
end;
procedure ReadMult;
| if Next = 'x' then begin
| | ReadSymb ('x');
| end else if Next = '(' then begin
| | ReadSymb ('(');
| | if b then begin ReadExpr; end;
| | if b then begin ReadSymb (')'); end;
| end else begin
| | b := false;
| end;
end;
Ћбв «®бм ®Ўбг¤Ёвм Їа®Ў«Ґ¬л, бўп§ лҐ б ў§ Ё¬®© ४габЁў®бвмо
нвЁе Їа®жҐ¤га (®¤ ЁбЇ®«м§гҐв ¤агЈго Ё ®Ў®а®в). ‚ Ї бЄ «Ґ нв®
¤®ЇгбЄ Ґвбп, в®«мЄ® вॡгҐвбп ¤ вм ЇаҐ¤ў аЁвҐ«м®Ґ ®ЇЁб ЁҐ Їа®-
楤га ("forward"). Љ Є ўбҐЈ¤ ¤«п ४габЁўле Їа®жҐ¤га, Ї®¬Ё¬®
¤®Є § ⥫мбвў в®Ј®, зв® Є ¦¤ п Їа®жҐ¤га а Ў®в Ґв Їа ўЁ«м® ў
ЇаҐ¤Ї®«®¦ҐЁЁ, зв® ЁбЇ®«м§гҐ¬лҐ ў Ґ© ўл§®ўл Їа®жҐ¤га а Ў®в ов
Їа ўЁ«м®, ¤® ¤®Є § вм ®в¤Ґ«м®, зв® а Ў®в § ўҐаи Ґвбп. (ќв®
Ґ ®зҐўЁ¤®: Ґб«Ё Ўл ў Ја ¬¬ вЁЄҐ Ўл«® Їа ўЁ«® K -> KK, в® Ё§ K
ЁзҐЈ® Ґ ўлў®¤Ёвбп, Џ®б«(K) Ё Ќ з(K) Їгбвл, ® ЇЁб п Ї®
иЁ¬ Є ® ¬ Їа®жҐ¤га
procedure ReadK;
begin
| ReadK;
| if b then begin
| | ReadK;
| end;
end;
Ґ § Є зЁў Ґв а Ў®вл.)
‚ ¤ ®¬ б«гз Ґ Їа®жҐ¤гал ReadRestExpr, ReadRestAdd,
ReadMult «ЁЎ® § ўҐаи овбп, «ЁЎ® 㬥ми ов ¤«Ёг ҐЇа®зЁв ®©
з бвЁ ўе®¤ . Џ®бЄ®«мЄг «оЎ®© жЁЄ« ўл§®ў®ў ўЄ«оз Ґв ®¤г Ё§ Ёе,
в® § жЁЄ«Ёў ЁҐ Ґў®§¬®¦®. ‡ ¤ з аҐиҐ .
13.2.6. Џгбвм ў Ја ¬¬ вЁЄҐ Ё¬Ґовбп ¤ў Їа ўЁ« б ҐвҐа¬Ё-
Ё «®¬ K ў «Ґў®© з бвЁ, Ё¬ҐойЁе ўЁ¤
K -> LK
K ->
Ї® Є®в®ал¬ K-б«®ў® ЇаҐ¤бв ў«пҐв б®Ў®© Є®Ґзго Ї®б«Ґ¤®ў -
⥫м®бвм L-б«®ў, ЇаЁзҐ¬ ¬®¦Ґбвў Џ®б«(L) Ё Ќ з(K) (ў ¤ ®¬
б«гз Ґ а ў®Ґ Ќ з(L)) Ґ ЇҐаҐбҐЄ овбп. €бЇ®«м§гп Є®а४вго ¤«п
L Їа®жҐ¤гаг ReadL, ЇЁб вм Є®а४вго ¤«п K Їа®жҐ¤гаг ReadK, Ґ
ЁбЇ®«м§гп ४габЁЁ. ЏаҐ¤Ї®« Ј Ґвбп, зв® Їгб⮥ б«®ў® Ґ ўлў®¤Ё¬®
Ё§ L.
ђҐиҐЁҐ. Џ® иЁ¬ Їа ўЁ« ¬ б«Ґ¤®ў «® Ўл ЇЁб вм
procedure ReadK;
begin
| if (Next ЇаЁ ¤«Ґ¦Ёв Ќ з (L)) then begin
| | ReadL;
| | if b then begin ReadK; end;
| end else begin
| | b := true;
| end;
end;
§ ўҐа襨Ґ а Ў®вл Ј а вЁагҐвбп ⥬, зв® Їгб⮥ б«®ў® Ґ ўлў®¤Ё-
¬® Ё§ L (Ё, б«Ґ¤®ў ⥫м®, ЇҐаҐ¤ ४габЁўл¬ ўл§®ў®¬ ¤«Ё ҐЇ-
а®зЁв ®© з б⨠㬥ми Ґвбп).
ќв ४габЁў п Їа®жҐ¤га нЄўЁў «Ґв ҐаҐЄгабЁў®©:
procedure ReadK;
begin
| b := true;
| while b and (Next ЇаЁ ¤«Ґ¦Ёв Ќ з (L)) do begin
| | ReadL;
| end;
end;
”®а¬ «м® ¬®¦® Їа®ўҐаЁвм нвг нЄўЁў «Ґв®бвм в Є. ‡ ўҐаи Ґ¬®бвм
ў ®Ў®Ёе б«гз пе пб . „®бв в®з® Їа®ўҐаЁвм Ї®н⮬г, з⮠⥫® аҐ-
ЄгабЁў®© Їа®жҐ¤гал нЄўЁў «Ґв® ҐаҐЄгабЁў®© ў ЇаҐ¤Ї®«®¦ҐЁЁ,
зв® ҐҐ ४габЁўл© ўл§®ў нЄўЁў «ҐвҐ ўл§®ўг ҐаҐЄгабЁў®© Їа®-
楤гал. Џ®¤бв ўЁ¬:
if (Next ЇаЁ ¤«Ґ¦Ёв Ќ з (K)) then begin
| ReadL;
| if b then begin
| | b := true;
| | while b and (Next ЇаЁ ¤«Ґ¦Ёв Ќ з (L)) do begin
| | | ReadL;
| | end;
| end;
end else begin
| b := true;
end;
ЏҐаўго Є®¬ ¤г b := true ¬®¦® ўлЄЁгвм (ў н⮬ ¬Ґб⥠Ё в Є b
ЁбвЁ®). ‚в®аго Є®¬ ¤г ¬®¦® ЇҐаҐҐбвЁ ў з «®:
b := true;
if (Next ЇаЁ ¤«Ґ¦Ёв Ќ з (K)) then begin
| ReadL;
| if b then begin
| | while b and (Next ЇаЁ ¤«Ґ¦Ёв Ќ з (L)) do begin
| | | ReadL;
| | end;
| end;
end;
’ҐЇҐам ўгв२© if ¬®¦® ўлЄЁгвм (Ґб«Ё b «®¦®, жЁЄ« while
ўбҐ а ў® Ґ ўлЇ®«пҐвбп) Ё ¤®Ў ўЁвм ў гб«®ўЁҐ ўҐиҐЈ® if гб«®-
ўЁҐ b (Є®в®а®Ґ ўбҐ а ў® ЁбвЁ®).
b := true;
if b and (Next ЇаЁ ¤«Ґ¦Ёв Ќ з (L)) then begin
| ReadL;
| while b and (Next ЇаЁ ¤«Ґ¦Ёв Ќ з (A)) do begin
| | ReadL;
| end;
end;
зв® нЄўЁў «Ґв® ЇаЁўҐ¤Ґ®© ўлиҐ ҐаҐЄгабЁў®© Їа®жҐ¤гॠ(Ё§
Є®в®а®© ўлҐбҐ ЇҐаў п ЁвҐа жЁп жЁЄ« ).
13.2.7. „®Є § вм Є®а४в®бвм ЇаЁўҐ¤Ґ®© ўлиҐ ҐаҐЄгабЁў-
®© Їа®Ја ¬¬л ҐЇ®б।б⢥®, ЎҐ§ ббл«®Є ४габЁўго.
ђҐиҐЁҐ. ђ бᬮваЁ¬ ЁЎ®«м襥 з «® ўе®¤ , пў«по饥бп
K- з «®¬. Ћ® ЇаҐ¤бв ў«пҐвбп ў ўЁ¤Ґ Є®Є ⥠樨 (Ї®б«Ґ¤®ў -
⥫쮣® ЇаЁЇЁблў Ёп) ҐбЄ®«мЄЁе ҐЇгбвле L-б«®ў Ё, ў®§¬®¦®,
®¤®Ј® ҐЇгбв®Ј® L- з « , Ґ пў«по饣®бп L-б«®ў®¬. €ў аЁ в
жЁЄ« : Їа®зЁв ® ҐбЄ®«мЄ® Ё§ Ёе; b <=> (Ї®б«Ґ¤ҐҐ Їа®зЁв ®Ґ
пў«пҐвбп L-б«®ў®¬).
‘®еа ҐЁҐ Ёў аЁ в : Ґб«Ё ®бв «®бм Ї®б«Ґ¤ҐҐ б«®ў®, нв®
®зҐўЁ¤®; Ґб«Ё ®бв «®бм ҐбЄ®«мЄ®, в® § ЇҐаўл¬ B-б«®ў®¬ (Ё§
зЁб« ®бв ўиЁебп) Ё¤Ґв бЁ¬ў®« Ё§ Ќ з(B), Ё Ї®в®¬г нв® б«®ў® -
¬ ЄбЁ¬ «мл¬ з «®¬ ўе®¤ , пў«по饥бп B- з «®¬.
Ќ Їа ЄвЁЄҐ ЇаЁ § ЇЁбЁ Ја ¬¬ вЁЄЁ ЁбЇ®«м§гов б®Єа 饨п.
…б«Ё Їа ўЁ« ¤«п Є Є®Ј®-в® ҐвҐа¬Ё « K Ё¬Ґов ўЁ¤
K -> L K
K ->
(в.Ґ. K-б«®ў - нв® Ї®б«Ґ¤®ў ⥫м®бвЁ L-б«®ў), в® нвЁе Їа ўЁ«
Ґ ЇЁигв, ў¬Ґбв® K ЇЁигв L ў дЁЈгале бЄ®ЎЄ е. ЌҐбЄ®«мЄ® Їа -
ўЁ« б ®¤®© «Ґў®© з бвмо Ё а §л¬Ё Їа ўл¬Ё § ЇЁблў ов Є Є ®¤®
Їа ўЁ«®, а §¤Ґ«пп «мвҐа вЁўлҐ Їа ўлҐ з бвЁ ўҐавЁЄ «м®© зҐа-
в®©.
Ќ ЇаЁ¬Ґа, а бᬮваҐ п ўлиҐ Ја ¬¬ вЁЄ ¤«п <ўла> ¬®¦Ґв
Ўлвм § ЇЁб в Є:
<ўла> -> <б« Ј> { + <б« Ј> }
<б« Ј> -> <¬®¦> { * <¬®¦> }
<¬®¦> -> x | ( <ўла> )
13.2.8. Ќ ЇЁб вм Їа®жҐ¤гаг, Є®а४⮠¤«п <ўла>, б«Ґ¤гп
нв®© Ја ¬¬ вЁЄҐ Ё ЁбЇ®«м§гп жЁЄ« ў¬Ґб⮠४габЁЁ, Ј¤Ґ ¬®¦®.
ђҐиҐЁҐ.
procedure ReadSymb (c: Symbol);
| b := (Next = c);
| if b then begin Move; end;
end;
procedure ReadExpr;
begin
| ReadAdd;
| while b and (Next = '+') do begin
| | Move;
| | ReadAdd;
| end;
end;
procedure ReadAdd;
begin
| ReadMult;
| while b and (Next = '*') do begin
| | Move;
| | ReadMult;
| end;
end;
procedure ReadMult;
begin
| if Next = 'x' do begin
| | Move;
| end else if Next = '(' then begin
| | Move;
| | ReadExpr;
| | if b then begin ReadSymb (')'); end;
| end else begin
| | b := false;
| end;
end;
13.3. Ђ«Ј®аЁв¬ а §Ў®а ¤«п LL(1)-Ја ¬¬ вЁЄ.
‚ н⮬ а §¤Ґ«Ґ ¬л а бᬮਬ ҐйҐ ®¤Ё ¬Ґв®¤ Їа®ўҐаЄЁ ўлў®¤Ё-
¬®бвЁ ў Љ‘-Ја ¬¬ вЁЄҐ, §лў Ґ¬л© Ї® ва ¤ЁжЁЁ LL(1)-а §Ў®а®¬.
‚®в ҐЈ® Ё¤Ґп ў ®¤®© да §Ґ: ¬®¦® бзЁв вм, зв® ў Їа®жҐбᥠўлў®¤
¬л ўбҐЈ¤ § ¬ҐпҐ¬ б ¬л© «Ґўл© ҐвҐа¬Ё « Ё 㦮 «Ёим ўлЎа вм
®¤® Ё§ Їа ўЁ«; Ґб«Ё ¬ Ї®ўҐ§Ґв б Ја ¬¬ вЁЄ®©, в® ўлЎа вм Їа -
ўЁ«® ¬®¦®, Ј«п¤п ЇҐаўл© бЁ¬ў®« ўлў®¤Ё¬®Ј® Ё§ нв®Ј® ҐвҐа¬Ё-
« б«®ў . ѓ®ў®ап Ў®«ҐҐ д®а¬ «м®, ¤ ¤Ё¬ в Є®Ґ
ЋЇаҐ¤Ґ«ҐЁҐ. ‹Ґўл¬ ўлў®¤®¬ (б«®ў ў Ја ¬¬ вЁЄҐ) §лў Ґвбп
ўлў®¤, ў Є®в®а®¬ Є ¦¤®¬ и ЈҐ § ¬ҐҐ Ї®¤ўҐаЈ Ґвбп б ¬л© «Ґўл©
Ё§ ҐвҐа¬Ё «®ў.
13.3.1. „«п Є ¦¤®Ј® ўлў®¤Ё¬®Ј® б«®ў (Ё§ вҐа¬Ё «®ў) бг-
йҐбвўгҐв ҐЈ® «Ґўл© ўлў®¤.
ђҐиҐЁҐ. ђ §«ЁзлҐ ҐвҐа¬Ё «л § ¬Ґповбп Ґ§ ўЁбЁ¬®; Ґб«Ё
ў Їа®жҐбᥠўлў®¤ Ї®пўЁ«®бм б«®ў® ..K..L.., Ј¤Ґ K, L - ҐвҐа¬Ё-
«л, в® § ¬Ґл K Ё L ¬®¦® Їа®Ё§ў®¤Ёвм ў «оЎ®¬ Ї®ап¤ЄҐ. Џ®н⮬г
¬®¦® ЇҐаҐбва®Ёвм ўлў®¤ в Є, зв®Ўл бв®пйЁ© «ҐўҐҐ ҐвҐа¬Ё « § -
¬Ґп«бп а миҐ. (”®а¬ «м® Ј®ў®ап, ¤® ¤®Є §лў вм Ё¤гЄжЁҐ© Ї®
¤«ЁҐ ўлў®¤ в Є®© д Єв: Ґб«Ё Ё§ ҐЄ®в®а®Ј® ҐвҐа¬Ё « K ўлў®-
¤Ёвбп ҐЄ®в®а®Ґ
б«®ў® A, в® бгйҐбвўгҐв «Ґўл© ўлў®¤ A Ё§ K.)
13.3.2. ‚ Ја ¬¬ вЁЄҐ б 4 Їа ўЁ« ¬Ё
(1) E ->
(2) E -> T E
(3) T -> ( E )
(4) T -> [ E ]
©вЁ «Ґўл© ўлў®¤ б«®ў A = [()([])] Ё ¤®Є § вм, зв® ®
Ґ¤Ёб⢥.
ђҐиҐЁҐ. Ќ ЇҐаў®¬ и ЈҐ ¬®¦® ЇаЁ¬ҐЁвм в®«мЄ® Їа ўЁ«® (2):
E -> TE
—в® Ўг¤Ґв ¤ «миҐ б T? ’ Є Є Є б«®ў® A зЁ Ґвбп "[", в® ¬®-
¦Ґв ЇаЁ¬ҐЁвмбп в®«мЄ® Їа ўЁ«® (4):
E -> TE -> [E]E
ЏҐаў®Ґ E ¤®«¦® § ¬ҐЁвмбп TE (Ё зҐ ўв®ал¬ бЁ¬ў®«®¬ Ўл« Ўл
бЄ®ЎЄ "]"):
E -> TE -> [E]E -> [TE]E
Ё T ¤®«¦® § ¬Ґпвмбп Ї® (3):
E -> TE -> [E]E -> [TE]E -> [(E)E]E
„ «ҐҐ ЇҐаў®Ґ E ¤®«¦® § ¬ҐЁвмбп Їгб⮥ б«®ў® (Ё зҐ ваҐв쥩
ЎгЄў®© б«®ў Ўг¤Ґв "(" Ё«Ё "[" - в®«мЄ® нвЁ бЁ¬ў®«л ¬®¦Ґв -
зЁ вмбп б«®ў®, ўлў®¤Ё¬®Ґ Ё§ T):
E -> TE -> [E]E -> [TE]E -> [(E)E]E -> [()E]E
Ё ¤ «ҐҐ
... -> [()TE]E -> [()(E)E]E -> [()(TE)E]E -> [()([E]E)E]E ->
-> [()([]E)E]E -> [()([])E]E -> [()([])]E -> [()([])].
—в® вॡгҐвбп ®в Ја ¬¬ вЁЄЁ, зв®Ўл в Є®© ¬Ґв®¤ Ї®ЁбЄ «Ґў®-
Ј® ўлў®¤ Ўл« ЇаЁ¬ҐЁ¬? Џгбвм, ЇаЁ¬Ґа, ®зҐаҐ¤®¬ и ЈҐ б ¬л¬
«Ґўл¬ ҐвҐа¬Ё «®¬ ®Є § «бп ҐвҐа¬Ё « K, в.Ґ. ¬л Ё¬ҐҐ¬ б«®ў®
ўЁ¤ AKU, Ј¤Ґ A - б«®ў® Ё§ вҐа¬Ё «®ў, U - б«®ў® Ё§ вҐа¬Ё «®ў
Ё ҐвҐа¬Ё «®ў. Џгбвм ў Ја ¬¬ вЁЄҐ Ґбвм Їа ўЁ«
K -> L M N
K -> P Q
K -> R
Ќ ¬ ¤® ўлЎа вм ®¤® Ё§ Ёе. Њл Ўг¤Ґ¬ Їлв вмбп ᤥ« вм нв®в ўл-
Ў®а, Ј«п¤п ЇҐаўл© бЁ¬ў®« в®© з бвЁ ўе®¤®Ј® б«®ў , Є®в®а п
ўлў®¤Ёвбп Ё§ KU.
ђ бᬮваЁ¬ ¬®¦Ґбвў® Ќ з(LMN) вҐе вҐа¬Ё «®ў, б Є®в®але -
зЁ овбп ҐЇгбвлҐ б«®ў , ўлў®¤Ё¬лҐ Ё§ LMN. (ќв® ¬®¦Ґбвў® а ў®
Ќ з(L), ®ЎкҐ¤ЁҐ®¬г б Ќ з(M), Ґб«Ё Ё§ L ўлў®¤Ёвбп Їгб⮥ б«®-
ў®, в Є¦Ґ б Ќ з(N), Ґб«Ё Ё§ L Ё Ё§ M ўлў®¤Ёвбп Їгб⮥ б«®ў®.)
—в®Ўл ®ЇЁб л© ¬Ґв®¤ Ўл« ЇаЁ¬ҐЁ¬, ¤®, зв®Ўл Ќ з(LMN),
Ќ з(PQ) Ё Ќ з(R) Ґ ЇҐаҐбҐЄ «Ёбм. Ќ® нв®Ј® ¬ «®. ‚Ґ¤м ¬®¦Ґв Ўлвм
в Є, ЇаЁ¬Ґа, зв® Ё§ LMN Ўг¤Ґв ўлўҐ¤Ґ® Їгб⮥ б«®ў®, Ё§ б«®-
ў U Ўг¤Ґв ўлўҐ¤Ґ® б«®ў®, зЁ о饥бп ЎгЄўг Ё§ Ќ з(PQ).
‘«Ґ¤гойЁҐ ®ЇаҐ¤Ґ«ҐЁп гзЁвлў ов нвг Їа®Ў«Ґ¬г.
Ќ Ї®¬Ё¬, зв® ®ЇаҐ¤Ґ«ҐЁҐ ўлў®¤Ё¬®бвЁ ў Љ‘-Ја ¬¬ вЁЄҐ Ўл«®
¤ ® в®«мЄ® ¤«п б«®ў Ё§ вҐа¬Ё «®ў. Ћ® ®зҐўЁ¤л¬ ®Ўа §®¬ ®Ў®Ў-
й Ґвбп б«гз © б«®ў Ё§ вҐа¬Ё «®ў Ё ҐвҐа¬Ё «®ў. Њ®¦® в Є¦Ґ
Ј®ў®аЁвм ® ўлў®¤Ё¬®бвЁ ®¤®Ј® б«®ў (ᮤҐа¦ 饣® вҐа¬Ё «л Ё Ґ-
вҐа¬Ё «л) Ё§ ¤агЈ®Ј®. (…б«Ё Ј®ў®аЁвбп ® ўлў®¤Ё¬®бвЁ б«®ў ЎҐ§
гЄ § Ёп в®Ј®, ®вЄг¤ ®® ўлў®¤Ёвбп, в® ўбҐЈ¤ Ї®¤а §г¬Ґў Ґвбп
ўлў®¤Ё¬®бвм ў Ја ¬¬ вЁЄҐ, в.Ґ. ўлў®¤Ё¬®бвм Ё§ з «м®Ј® ҐвҐа-
¬Ё « .)
„«п Є ¦¤®Ј® б«®ў X Ё§ вҐа¬Ё «®ў Ё ҐвҐа¬Ё «®ў зҐаҐ§
Ќ з(X) ®Ў®§ з Ґ¬ ¬®¦Ґбвў® ўбҐе вҐа¬Ё «®ў, б Є®в®але зЁ ов-
бп ҐЇгбвлҐ б«®ў Ё§ вҐа¬Ё «®ў, ўлў®¤Ё¬лҐ Ё§ X. (‚ б«гз Ґ, Ґб«Ё
Ё§ «оЎ®Ј® ҐвҐа¬Ё « ўлў®¤Ёвбп е®вм ®¤® б«®ў® Ё§ вҐа¬Ё «®ў,
Ґ ЁЈа Ґв а®«Ё, а бб¬ ваЁў Ґ¬ «Ё ¬л ЇаЁ ®ЇаҐ¤Ґ«ҐЁЁ Ќ з(X) б«®ў
в®«мЄ® Ё§ вҐа¬Ё «®ў Ё«Ё «оЎлҐ б«®ў . Њл Ўг¤Ґ¬ ЇаҐ¤Ї®« Ј вм ¤ -
«ҐҐ, зв® нв® гб«®ўЁҐ ўлЇ®«Ґ®.)
„«п Є ¦¤®Ј® ҐвҐа¬Ё « K зҐаҐ§ Џ®б«Ґ¤(K) ®Ў®§ зЁ¬ ¬®-
¦Ґбвў® вҐа¬Ё «®ў, Є®в®алҐ ўбваҐз овбп ў ўлў®¤Ё¬ле б«®ў е ба §г
¦Ґ § K. Ља®¬Ґ в®Ј®, ў Џ®б«Ґ¤(K) ўЄ«оз Ґвбп бЁ¬ў®« EOI, Ґб«Ё бг-
йҐбвўгҐв ўлў®¤Ё¬®Ґ б«®ў®, ®Є зЁў о饥бп K.
„«п Є ¦¤®Ј® Їа ўЁ«
K -> V
(Ј¤Ґ K - ҐвҐа¬Ё «, V - б«®ў®, ᮤҐа¦ 饥 вҐа¬Ё «л Ё ҐвҐа¬Ё-
«л) ®ЇаҐ¤Ґ«Ё¬ ¬®¦Ґбвў® " Їа ў«пойЁе вҐа¬Ё «®ў", ®Ў®§ з -
Ґ¬®Ґ Ќ Їа(K->V). Џ® ®ЇаҐ¤Ґ«ҐЁо ®® а ў® Ќ з(V), Є Є®в®а®¬г ¤®-
Ў ў«Ґ® Џ®б«Ґ¤(K), Ґб«Ё Ё§ V ўлў®¤Ёвбп Їгб⮥ б«®ў®.
ЋЇаҐ¤Ґ«ҐЁҐ. ѓа ¬¬ вЁЄ §лў Ґвбп LL(1)-Ја ¬¬ вЁЄ®©, Ґб«Ё
¤«п «оЎле Їа ўЁ« K->V Ё K->W б ®¤Ё Є®ўл¬Ё «Ґўл¬Ё з бвп¬Ё ¬®-
¦Ґбвў Ќ Їа(K->V) Ё Ќ Їа(K->W) Ґ ЇҐаҐбҐЄ овбп.
13.3.3. џў«пҐвбп «Ё Ја ¬¬ вЁЄ
K -> K #
K ->
(ўлў®¤Ё¬л¬Ё б«®ў ¬Ё пў«повбп Ї®б«Ґ¤®ў ⥫м®бвЁ ¤ЁҐ§®ў)
LL(1)-Ја ¬¬ вЁЄ®©?
ђҐиҐЁҐ. ЌҐв: бЁ¬ў®« # ЇаЁ ¤«Ґ¦Ёв ¬®¦Ґбвў ¬ Їа ў«пойЁе
бЁ¬ў®«®ў ¤«п ®Ў®Ёе Їа ўЁ« (¤«п ўв®а®Ј® - Ї®бЄ®«мЄг # ЇаЁ ¤«Ґ¦Ёв
Џ®б«Ґ¤(K)).
13.3.4. Ќ ЇЁб вм LL(1)-Ја ¬¬ вЁЄг ¤«п в®Ј® ¦Ґ п§лЄ .
ђҐиҐЁҐ.
K -> # K
K ->
Љ Є Ј®ў®апв, "«Ґў®аҐЄгабЁў®Ґ Їа ўЁ«®" § ¬ҐҐ® "Їа ў®аҐЄга-
бЁў®Ґ".
‘«Ґ¤гой п § ¤ з Ї®Є §лў Ґв, зв® ¤«п LL(1)-Ја ¬¬ вЁЄЁ бгйҐ-
бвўгҐв Ґ Ў®«ҐҐ ®¤®Ј® ў®§¬®¦®Ј® Їа®¤®«¦ҐЁп «Ґў®Ј® ўлў®¤ .
13.3.5. Џгбвм ¤ ® ўлў®¤Ё¬®Ґ ў LL(1)-Ја ¬¬ вЁЄҐ б«®ў® X, ў
Є®в®а®¬ ўл¤Ґ«Ґ б ¬л© «Ґўл© ҐвҐа¬Ё « Љ: X=AKS, Ј¤Ґ A - б«®ў®
Ё§ вҐа¬Ё «®ў, S - б«®ў® Ё§ вҐа¬Ё «®ў Ё ҐвҐа¬Ё «®ў. Џгбвм бг-
йҐбвўгов ¤ў а §«Ёзле Їа ўЁ« Ја ¬¬ вЁЄЁ б ҐвҐа¬Ё «®¬ K ў «Ґ-
ў®© з бвЁ, Ё ¬л ЇаЁ¬ҐЁ«Ё Ёе Є ўл¤Ґ«Ґ®¬г ў X ҐвҐа¬Ё «г K,
§ ⥬ Їа®¤®«¦Ё«Ё ўлў®¤ Ё ў Є®жҐ Є®ж®ў Ї®«гзЁ«Ё ¤ў б«®ў Ё§
вҐа¬Ё «®ў, зЁ ойЁебп A. „®Є § вм, зв® ў нвЁе б«®ў е §
з «®¬ A Ё¤гв а §лҐ ЎгЄўл.
ђҐиҐЁҐ. ќвЁ ЎгЄўл ЇаЁ ¤«Ґ¦ в Їа ў«пойЁ¬ ¬®¦Ґбвў ¬ а §-
«Ёзле Їа ўЁ«.
13.3.6. „®Є § вм, зв® Ґб«Ё б«®ў® ўлў®¤Ё¬® ў LL(1)-Ја ¬¬ вЁ-
ЄҐ, в® ҐЈ® «Ґўл© ўлў®¤ Ґ¤Ёб⢥.
ђҐиҐЁҐ. ЏаҐ¤л¤гй п § ¤ з Ї®Є §лў Ґв, зв® Є ¦¤®¬ и ЈҐ
«Ґўл© ўлў®¤ Їа®¤®«¦ Ґвбп ®¤®§ з®.
13.3.7. ѓа ¬¬ вЁЄ §лў Ґвбп «Ґў®аҐЄгабЁў®©, Ґб«Ё Ё§ Ґ-
Є®в®а®Ј® ҐвҐа¬Ё « K ўлў®¤Ёвбп б«®ў®, зЁ о饥бп б K, ® Ґ
б®ўЇ ¤ о饥 б Ё¬. „®Є § вм, зв® «Ґў®аҐЄгабЁў п Ја ¬¬ вЁЄ , ў
Є®в®а®© Ё§ Є ¦¤®Ј® ҐвҐа¬Ё « ўлў®¤Ёвбп е®вп Ўл ®¤® ҐЇгб⮥
б«®ў® Ё§ вҐа¬Ё «®ў Ё ¤«п Є ¦¤®Ј® ҐвҐа¬Ё « бгйҐбвўгҐв ўлў®¤
( зЁ ойЁ©бп б з «м®Ј® ҐвҐа¬Ё « ), ў Є®в®а®¬ ® ўбваҐз Ґв-
бп, Ґ пў«пҐвбп LL(1)-Ја ¬¬ вЁЄ®©.
ђҐиҐЁҐ. Џгбвм Ё§ K ўлў®¤Ёвбп KU, Ј¤Ґ K - ҐвҐа¬Ё «, U -
ҐЇгб⮥ б«®ў®. Њ®¦® бзЁв вм, зв® нв® «Ґўл© ўлў®¤ (¤агЈЁҐ Ґ-
вҐа¬Ё «л ¬®¦® Ґ § ¬Ґпвм). ђ бᬮваЁ¬ ўлў®¤ K --> KU --> KUU
->... (§ Є --> ®Ў®§ з Ґв ҐбЄ®«мЄ® и Ј®ў ўлў®¤ ) Ё «Ґўл© ўлў®¤
K -> A, Ј¤Ґ A - ҐЇгб⮥ б«®ў® Ё§ вҐа¬Ё «®ў. Ќ Є Є®¬-в® и ЈҐ
ўв®а®© ўлў®¤ ®вЄ«®пҐвбп ®в ЇҐаў®Ј®, ¬Ґ¦¤г ⥬ Ї® ®Ў®Ё¬ Їгвп¬
¬®¦Ґв Ўлвм Ї®«г祮 б«®ў®, зЁ о饥бп A (ў ЇҐаў®¬ б«гз Ґ
нв® ў®§¬®¦®, в Є Є Є б®еа пҐвбп ҐвҐа¬Ё « K, Є®в®ал© ¬®¦Ґв
ўЇ®б«Ґ¤бвўЁЁ Ўлвм § ¬ҐҐ A). ќв® Їа®вЁў®аҐзЁв ў®§¬®¦®бвЁ
®¤®§ з®Ј® ®ЇаҐ¤Ґ«ҐЁп Їа ўЁ« , ЇаЁ¬ҐпҐ¬®Ј® ®зҐаҐ¤®¬ и ЈҐ
Ї®ЁбЄ «Ґў®Ј® ўлў®¤ . (O¤®§ з®бвм ўлЇ®«пҐвбп ¤«п ўлў®¤®ў Ё§
з «м®Ј® ҐвҐа¬ « , Ё ¤® ў®бЇ®«м§®ў вмбп ⥬, зв® K Ї®
ЇаҐ¤Ї®«®¦ҐЁо ўбваҐз Ґвбп ў в Є®¬ ўлў®¤Ґ.)
’ ЄЁ¬ ®Ўа §®¬, Є «Ґў®аҐЄгабЁўл¬ Ја ¬¬ вЁЄ ¬ (Єа®¬Ґ ваЁўЁ-
«мле б«гз Ґў) LL(1)- гЄ ҐЇаЁ¬ҐЁ¬ . €е ЇаЁе®¤Ёвбп ЇаҐ®Ўа -
§®ўлў вм Є нЄўЁў «Ґвл¬ LL(1)-Ја ¬¬ вЁЄ ¬ - Ё«Ё Ї®«м§®ў вмбп
¤агЈЁ¬Ё ¬Ґв®¤ ¬Ё а бЇ®§ ў Ёп.
13.3.8. €бЇ®«м§гп бЄ § ®Ґ, Ї®бва®Ёвм «Ј®аЁв¬ Їа®ўҐаЄЁ
ўлў®¤Ё¬®бвЁ б«®ў Ё§ вҐа¬Ё «®ў ў LL(1)-Ја ¬¬ вЁЄҐ, Ґ пў«по饩-
бп «Ґў®аҐЄгабЁў®©.
ђҐиҐЁҐ. Њл б«Ґ¤гҐ¬ ®ЇЁб ®¬г ўлиҐ ¬Ґв®¤г Ї®ЁбЄ «Ґў®Ј®
ўлў®¤ , еа п «Ёим з бвм б«®ў , 室пйгобп Їа ўҐҐ 㦥 Їа®зЁв -
®© з бвЁ ўе®¤®Ј® б«®ў . „агЈЁ¬Ё б«®ў ¬Ё, ¬л еа Ё¬ б«®ў® S Ё§
вҐа¬Ё «®ў Ё ҐвҐа¬Ё «®ў, ®Ў« ¤ о饥 в ЄЁ¬ бў®©бвў®¬ (Їа®зЁв -
го з бвм ўе®¤ ®Ў®§ з Ґ¬ зҐаҐ§ A):
| (1) б«®ў® AS ўлў®¤Ё¬® ў Ја ¬¬ вЁЄҐ;
(€) | (2) «оЎ®© «Ґўл© ўлў®¤ ўе®¤®Ј® б«®ў Їа®е®¤Ёв зҐаҐ§ бв ¤Ёо
| AS
‚ з «Ґ A Їгбв®, S б®бв®Ёв Ё§ Ґ¤Ёб⢥®Ј® бЁ¬ў®« - -
з «м®Ј® ҐвҐа¬Ё « .
…б«Ё ў ҐЄ®в®ал© ¬®¬Ґв S зЁ Ґвбп вҐа¬Ё « t Ё t =
Next, в® ¬®¦® ўлЇ®«Ёвм Є®¬ ¤г Move Ё г¤ «Ёвм бЁ¬ў®« t, пў«п-
ойЁ©бп з «мл¬ ў S, Ї®бЄ®«мЄг ЇаЁ н⮬ AS Ґ ¬ҐпҐвбп.
…б«Ё S зЁ Ґвбп вҐа¬Ё « t Ё t Ґ а ў® Next, в® ўе®¤-
®Ґ б«®ў® Ґўлў®¤Ё¬® - ЁЎ® Ї® гб«®ўЁо «оЎ®© ҐЈ® ўлў®¤ ¤®«¦Ґ
Їа®е®¤Ёвм зҐаҐ§ AS. (ќв® ¦Ґ бЇа ўҐ¤«Ёў® Ё ў б«гз Ґ Next = EOI.)
…б«Ё S Їгбв®, в® Ё§ гб«®ўЁп (€) б«Ґ¤гҐв, зв® ўе®¤®Ґ б«®ў®
ўлў®¤Ё¬® в®Ј¤ Ё в®«мЄ® в®Ј¤ , Є®Ј¤ Next = EOI.
Ћбв Ґвбп б«гз ©, Є®Ј¤ S зЁ Ґвбп б ҐЄ®в®а®Ј® ҐвҐа¬Ё -
« K. Џ® ¤®Є § ®¬г ўлиҐ ўбҐ «ҐўлҐ ўлў®¤л Ё§ S б«®ў, зЁ -
ойЁебп бЁ¬ў®« Next, зЁ овбп б ЇаЁ¬ҐҐЁп Є T ®¤®Ј® Ё в®Ј®
¦Ґ Їа ўЁ« - в®Ј®, ¤«п Є®в®а®Ј® Next ЇаЁ ¤«Ґ¦Ёв Їа ў«по饬г
¬®¦Ґбвўг. …б«Ё в ЄЁе Їа ўЁ« Ґв, в® ўе®¤®Ґ б«®ў® Ґўлў®¤Ё¬®.
…б«Ё в Є®Ґ Їа ўЁ«® Ґбвм, ⮠㦮 ЇаЁ¬ҐЁвм ҐЈ® Є ЇҐаў®¬г бЁ¬ў®-
«г б«®ў S - ЇаЁ н⮬ бў®©бвў® (€) Ґ агиЁвбп. ЏаЁе®¤Ё¬ Є в -
Є®¬г «Ј®аЁв¬г:
S := Їгб⮥ б«®ў®;
error := false;
{error => ўе®¤®Ґ б«®ў® Ґўлў®¤Ё¬®;}
{not error => (€)}
while (not error) and not ((Next=EOI) and (S Їгбв®)) do begin
| if (S зЁ Ґвбп вҐа¬Ё «, а ўл© Next) then begin
| | Move; г¤ «Ёвм Ё§ S ЇҐаўл© бЁ¬ў®«;
| end else if (S зЁ Ґвбп вҐа¬Ё «, Ґ а ўл© Next)
| | then begin
| | error := true;
| end else if (S Їгбв®) and (Next <> EOI) then begin
| | error := true;
| end else if (S зЁ Ґвбп ҐвҐа¬Ё « Ё Next ўе®¤Ёв ў
| | Їа ў«по饥 ¬®¦Ґбвў® ®¤®Ј® Ё§ Їа ўЁ« ¤«п нв®Ј®
| | ҐвҐа¬Ё « ) then begin
| | ЇаЁ¬ҐЁвм нв® Їа ўЁ«®
| end else if (S зЁ Ґвбп ҐвҐа¬Ё « Ё Next Ґ ўе®¤Ёв ў
| | Їа ў«по饥 ¬®¦Ґбвў® Ё ®¤®Ј® Ё§ Їа ўЁ« ¤«п нв®Ј®
| | ҐвҐа¬Ё « ) then begin
| | error := true;
| end;
end;
{ўе®¤®Ґ б«®ў® ўлў®¤Ё¬® <=> not error}
Ђ«Ј®аЁв¬ § Є зЁў Ґв а Ў®вг, Ї®бЄ®«мЄг ЇаЁ Ї®пў«ҐЁЁ ҐвҐа¬Ё «
ў з «Ґ б«®ў S Їа®Ёб室Ёв з⥨Ґ б® ўе®¤ Ё«Ё ®бв ®ўЄ ,
ЎҐбЄ®Ґзл© жЁЄ« ᬥпойЁе ¤агЈ ¤агЈ вҐа¬Ё «®ў ў з «Ґ S ®§-
з « Ўл, зв® Ја ¬¬ вЁЄ «Ґў®аҐЄгабЁў .
‡ ¬Ґз Ёп. 1. ЏаЁўҐ¤Ґл© «Ј®аЁв¬ ЁбЇ®«м§гҐв S Є Є б⥪
(ўбҐ ¤Ґ©бвўЁп Їа®Ё§ў®¤пвбп б «Ґў®Ј® Є®ж ).
2. „Ґ©бвўЁп ¤ўге Ї®б«Ґ¤Ёе ў аЁ в®ў ўгваЁ жЁЄ« Ґ ЇаЁў®-
¤пв Є звҐЁо ®зҐаҐ¤®Ј® бЁ¬ў®« б® ўе®¤ , Ї®нв®¬г Ёе ¬®¦® § а -
ҐҐ ЇаҐ¤ўлзЁб«Ёвм ¤«п Є ¦¤®Ј® ҐвҐа¬Ё « Ё Є ¦¤®Ј® бЁ¬ў®«
Next. Џ®б«Ґ нв®Ј® Є ¦¤®¬ и ЈҐ жЁЄ« Ўг¤Ґв зЁв вмбп ®зҐаҐ¤®©
бЁ¬ў®« ўе®¤ .
3. ЏаЁ Їа ЄвЁзҐбЄ®© ॠ«Ё§ жЁЁ 㤮Ў® б®бв ўЁвм в Ў«Ёжг, ў
Є®в®а®© § ЇЁб л ў аЁ вл ¤Ґ©бвўЁ© ў § ўЁбЁ¬®бвЁ ®в ўе®¤®Ј®
бЁ¬ў®« Ё ЇҐаў®Ј® бЁ¬ў®« S, Ё ҐЎ®«миго Їа®Ја ¬¬г, ўлЇ®«пойго
¤Ґ©бвўЁп ў ᮮ⢥вбвўЁЁ б нв®© в Ў«ЁжҐ©.
Соседние файлы в папке Шень