Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Доки / T_ALG / 2 / OPYZK

.TXT
Скачиваний:
5
Добавлен:
17.04.2013
Размер:
55.84 Кб
Скачать













ѓ…Ќ…ђЂ’Ћђ џ‡›ЉЋ‚›• ЏђЋ–…‘‘ЋђЋ‚

(GLP)


ЋЇЁб ­ЁҐ п§лЄ 


‹Ёбв®ў 41









Њ®бЄў  1994
.
- 2 -

Љ®¬ЁвҐв Ї® ўлб襩 иЄ®«Ґ ¬Ё­ЁбвҐабвў  ­ гЄЁ ђ”
ЊЋ‘ЉЋ‚‘Љ€‰ ѓЋ‘“„Ђђ‘’‚…ЌЌ›‰ €Ќ‘’€’“’ ќ‹…Љ’ђЋЌЌЋ‰ ’…•Ќ€Љ€
’…•Ќ€—…‘Љ€‰ “Ќ€‚…ђ‘€’…’


" “⢥ত о "
Џа®аҐЄв®а Њ€ќ’
____________ — Ї«лЈЁ­ ћ.Ђ.

"___"________ 1994Ј.



ѓ…Ќ…ђЂ’Ћђ џ‡›ЉЋ‚›• ЏђЋ–…‘‘ЋђЋ‚
(GLP)

ЋЇЁб ­ЁҐ п§лЄ 
‹Ёбв®ў 41


Ђўв®ал:

1. __________  ­мЈЁ­ ‚.”.

"___"________1994 Ј.

2. __________ ’Ё¬®дҐҐў Џ.Ђ.

"___"________1994 Ј.

Њ®бЄў  1994
.
- 3 -


ЂЌЌЋ’Ђ–€џ

ЏаҐ¤« Ј Ґ¬л© п§лЄ ЇаҐ¤­ §­ зҐ­ ¤«п ®ЇЁб ­Ёп п§лЄ®ўле Їа®жҐбб®а®ў
(ва ­б«пв®а®ў, Є®¬ЇЁ«пв®а®ў, Ё­вҐаЇаҐв в®а®ў Ё ¤а.). ‘ ҐЈ® Ї®¬®ймо
¬®¦­® ®ЇЁб вм Є Є бЁ­в ЄбЁб, в Є Ё ᥬ ­вЁЄг п§лЄ®ў®Ј® Їа®жҐбб®а . „«п
®ЇЁб ­Ёп бЁ­в ЄбЁб  ўўҐ¤Ґ­  ¤®Ї®«­Ґ­­ п § ЇЁбм д®а¬л ЃнЄгб -Ќ га . ‘Ґ-
¬ ­вЁЄ  п§лЄ  ®ЇЁблў Ґвбп ЇаҐ¤«®¦Ґ­Ёп¬Ё п§лЄ  Їа®Ја ¬¬Ёа®ў ­Ёп ‘€++.
‚ Їа®жҐбᥠЁ§«®¦Ґ­Ёп Є®­бвагЄжЁ© ¬Ґв п§лЄ  ЁбЇ®«м§говбп ¬­®Ј®зЁб-
«Ґ­­лҐ ЇаЁ¬Ґал. ЏаЁўҐ¤Ґ­л бЇ®б®Ўл ЇаЁўҐ¤Ґ­Ёп Ја ¬¬ вЁЄЁ Є ®¤­®§­ з­®¬г
ўЁ¤г. ‚ 楫®¬ а бᬮв७ ўҐбм Їа®жҐбб ᮧ¤ ­Ёп п§лЄ®ў®Ј® Їа®жҐбб®а  ®в
д®а¬ «м­®© Ја ¬¬ вЁЄЁ ¤® Їа®Ја ¬¬л ­  ¬Ґв п§лЄҐ.

.
- 4 -


‘Ћ„…ђ†ЂЌ€…

1. ЋЃ™€… ‘‚…„…Ќ€џ 5
2. ќ‹…Њ…Ќ’› Њ…’Ђџ‡›ЉЂ 6
2.1. Ѓ §®ўл© ­ Ў®а Ё­бвагЄжЁ© ¬Ґв п§лЄ  6
2.2. “Їа ў«пойЁҐ Ї®б«Ґ¤®ў вҐ«м­®бвЁ 9
2.3. ЌҐвҐа¬Ё­ «м­лҐ бЁ¬ў®«л 10
я12.3.1 ‘®Єа йҐ­­ п § ЇЁбм  «мвҐа­ вЁў.я0 10
я12.3.2. Џ®ўв®аҐ­ЁҐ н«Ґ¬Ґ­в®ў Є®­бвагЄжЁ©.я0 11
я12.3.3. ЋвбгвбвўЁҐ н«Ґ¬Ґ­в®ў Є®­бвагЄжЁ©.я0 12
2.4. ’Ґа¬Ё­ «м­лҐ бЁ¬ў®«л 12
я12.4.1. ‘Ё¬ў®« Ё§ ¬­®¦Ґбвў .я0 14
я12.4.2. ‘Ё¬ў®«, ­Ґ ЇаЁ­ ¤«Ґ¦ йЁ© ¬­®¦Ґбвўгя0 15
я12.4.3. ‘ва®Є  бЁ¬ў®«®ў Ё§ ¬­®¦Ґбвў .я0 15
я12.4.4. ‘ва®Є  Ё§ ®¤Ё­ Є®ўле бЁ¬ў®«®ў.я0 16
я12.4.5. ЋЇҐа жЁп Є®­Є вҐ­ жЁЁ бва®Єя0 18
2.5. ЉагЈ«лҐ бЄ®ЎЄЁ 19
2.6. ‘Ґ¬ ­вЁЄ  п§лЄ  20
3. Џђ€Њ…ђ ЏђЋѓђЂЊЊ› ђЂ‡ЃЋђЂ 25
4. Ћ„ЌЋ‡ЌЂ—ЌЋ‘’њ ѓђЂЊЊЂ’€Љ€ 29
я14.1. ‚лў®¤ Ёб室­®Ј® ЇаҐ¤«®¦Ґ­Ёпя0 29
я14.2. ЏаҐ®Ўа §®ў ­ЁҐ Ја ¬¬ вЁЄЁя0 30
я14.3. ЏаЁ¬Ґал ЇаҐ®Ўа §®ў ­Ёп Ја ¬¬ вЁЄ ­  ¬Ґв п§лЄҐя0 32
Џђ€‹Ћ†…Ќ€… 1. ‘Ё­в ЄбЁб ¬Ґв п§лЄ , § ЇЁб ­­л© ­  ¬Ґв п§лЄҐ 37
.
- 5 -


1. ЋЃ™€… ‘‚…„…Ќ€џ

ЊҐв п§лЄ®¬ ­ §лў ов п§лЄ, ЇаҐ¤­ §­ зҐ­­л© ¤«п ®ЇЁб ­Ёп ¤агЈЁе
п§лЄ®ў. Ќ ЇаЁ¬Ґа, ­  ¬Ґв п§лЄҐ ¬®¦­® ®ЇЁб вм п§лЄЁ Їа®Ја ¬¬Ёа®ў ­Ёп
(‘, PASCAL, ADA, ...) п§лЄЁ ‘ЂЏђ (EDIF, VERILOG, VHDL,...) Ё ¬­®ЈЁҐ
¤агЈЁҐ.
‚ Є зҐб⢥ Ёб室­®© д®а¬л § ЇЁбЁ п§лЄ®ў®Ј® Їа®жҐбб®а  Ўг¤Ґ¬ Ёб-
Ї®«м§®ў вм Є®­вҐЄбв­®-бў®Ў®¤­лҐ д®а¬ «м­лҐ Ја ¬¬ вЁЄЁ. ‘ Ёе Ї®¬®ймо
¬®¦­® ®ЇЁб вм в®«мЄ® бЁ­в ЄбЁб п§лЄ . ‚ ЇаЁ­жЁЇҐ нв  д®а¬  ўЇ®«­Ґ Ї®¤-
室Ёв ў Є зҐб⢥ Ёб室­®© ¤«п ЈҐ­Ґа в®а  п§лЄ®ўле Їа®жҐбб®а®ў, Ј¤Ґ
Ї®б«Ґ¤­ЁҐ ўлЇ®«­пов «Ёим бЁ­в ЄЁбзҐбЄЁ©  ­ «Ё§. Ћ¤­ Є® бЁ­в ЄбЁзҐбЄЁ©
 ­ «Ё§ Ё­вҐаҐбҐ­ Ї®бв®«мЄг, Ї®бЄ®«мЄг Ї а ««Ґ«м­® б ­Ё¬ ¬®¦­® Їа®Ё§ў®-
¤Ёвм ®Ўа Ў®вЄг ЇаҐ¤«®¦Ґ­Ё© п§лЄ  ў б®®в®ўҐвбвўЁЁ б § «®¦Ґ­­л¬ ў ­Ёе
б¬лб«®¬. Џ®н⮬㠭Ґ®Ўе®¤Ё¬  Ёб室­ п д®а¬ , Є®в®а п Ї®§ў®«п«  Ўл б ®¤-
­®© бв®а®­л § ¤ ў вм бЁ­в ЄбЁб п§лЄ  в Є¦Ґ Єа вЄ® Є Є д®а¬ «м­лҐ Ја ¬-
¬ вЁЄЁ,   б ¤агЈ®© Ё¬Ґ«  Ўл б।бвў  ®в®Ўа ¦Ґ­Ёп б¬лб«  ЇаҐ¤«®¦Ґ­Ё©
Ё«Ё ўлЇ®«­пҐ¬ле ¤Ґ©бвўЁ©.
„ ­­л© ­ Ў®а Ё­бвагЄжЁ© ЇаҐ¤­ §­ зҐ­ ¤«п ®ЇЁб ­Ёп бЁ­в ЄбЁб  п§л-
Є  Ї®«м§®ў вҐ«п Ё ЇаҐ¤бв ў«пҐв б®Ў®© ¬®¤ЁдЁжЁа®ў ­­л© ў аЁ ­в д®а¬л
ЃнЄгб . Џ®¤ б«®ў ¬Ё п§лЄ, п§лЄ Ї®«м§®ў вҐ«п Ўг¤Ґ¬ Ї®­Ё¬ вм п§лЄ, ¤«п
Є®в®а®Ј® а §а Ў влў Ґвбп ва ­б«пв®а. Ђ«д ўЁв п§лЄ  ўЄ«оз Ґв вҐа¬Ё­ «м-
­лҐ Ё ­ҐвҐа¬Ё­ «м­лҐ бЁ¬ў®«л. €§ вҐа¬Ё­ «м­ле бЁ¬ў®«®ў бва®Ёвбп Ёб室-
­л© ⥪бв Їа®Ја ¬¬л. Љ ­Ё¬ ®в­®бпвбп Є«озҐўлҐ б«®ў , §­ ЄЁ ®ЇҐа жЁ©,
а §¤Ґ«ЁвҐ«Ё Ё ¤агЈЁҐ бЁ¬ў®«л Ё§ Є®в®але бва®Ёвбп Ёб室­л© ⥪бв Їа®Ј-
а ¬¬л. ЌҐвҐа¬Ё­ «м­лҐ бЁ¬ў®«л ЇаҐ¤бв ў«пов б®Ў®© ­ §ў ­Ёп бЁ­в ЄбЁзҐб-
ЄЁе Є®­бвагЄжЁ© Ё пў­® ў Ёб室­л© ⥪бв ­Ґ ўе®¤пв. ЌҐвҐа¬Ё­ «м­лҐ бЁ¬-
ў®«л ў ⥪б⥠Ўг¤Ґ¬ ўл¤Ґ«пвм гЈ«®ўл¬Ё бЄ®ЎЄ ¬Ё < Ё > . Ќ ЇаЁ¬Ґа,
<®ЇҐа в®а>, <ўла ¦Ґ­ЁҐ>, <¤ҐбпвЁз­®Ґ зЁб«®> Ё в Є ¤ «ҐҐ. ’Ґа¬Ё­ «м­лҐ
¦Ґ бЁ¬ў®«л ў ⥪б⥠ЇаҐ¤бв ў«пов б ¬Ё ᥡп. Џгбв®© бЁ¬ў®« Ўг¤Ґ¬ ®Ў®§-
­ з вм *. Џгбв®© бЁ¬ў®« ®Ў®§­ з Ґв ®вбгвбвўЁҐ бЁ¬ў®« .
.
- 6 -


2. ќ‹…Њ…Ќ’› Њ…’Ђџ‡›ЉЂ

2.1. Ѓ §®ўл© ­ Ў®а Ё­бвагЄжЁ© ¬Ґв п§лЄ 


‹оЎ п бЁ­в ЄбЁзҐбЄ п Є®­бвагЄжЁп, ­ §ў ­ЁҐ Є®в®а®© ®Ў®§­ зҐ­® ­Ґ-
вҐа¬Ё­ «м­л¬ бЁ¬ў®«®¬, ¬®¦Ґв Ўлвм ЇаҐ¤бв ў«Ґ­  ў ўЁ¤Ґ а §«Ёз­ле бва®Є,
б®бв®пйЁе Ё§ вҐа¬Ё­ «м­ле Ё ­ҐвҐа¬Ё­ «м­ле бЁ¬ў®«®ў. ЋЇЁб ­ЁҐ бЁ­в Є-
бЁзҐбЄ®© Є®­бвагЄжЁЁ ­ зЁ­ Ґвбп б Ґс ­ §ў ­Ёп §  Є®в®ал¬ б«Ґ¤гҐв ЇҐа-
ў п бва®Є  Ґс ЇаҐ¤бв ў«Ґ­Ёп, ®в¤Ґ«Ґ­­ п ®в ­ §ў ­Ёп бЁ¬ў®« ¬Ё ::= .
‘«Ґ¤гойЁҐ бва®ЄЁ ¤«п ЇаҐ¤бв ў«Ґ­Ёп бЁ­в ЄбЁзҐбЄ®© Є®­бвагЄжЁЁ ­ зЁ­ -
овбп б ­®ў®© бва®ЄЁ б бЁ¬ў®«®ў ||= . Ќ ЇаЁ¬Ґа,

<®ЇҐа в®а ЇаЁбў Ёў ­Ёп> ::= <Ё¤Ґ­вЁдЁЄ в®а ЇҐаҐ¬Ґ­­®©>
= <ўла ¦Ґ­ЁҐ>
/* ЌҐвҐа¬Ё­ «м­л© бЁ¬ў®« <楫®Ґ> ®ЇЁблў Ґв жҐ«лҐ зЁб« , б®бв®пйЁҐ
Ё§ «оЎ®Ј® зЁб«  жЁда ®в 0 ¤® 9 */

<楫®Ґ> ::= <жЁда >
||= <楫®Ґ><жЁда >
<жЁда > ::= 0
||= 1
||= 2
||= 3
||= 4
||= 5
||= 6
||= 7
||= 8
||= 9

- 7 -


‚ ЇаЁ¬ҐаҐ ЁбЇ®«м§®ў ­л ­ҐвҐа¬Ё­ «м­лҐ бЁ¬ў®«л: <®ЇҐа в®а ЇаЁбў Ё-
ў ­Ёп>, <Ё¤Ґ­вЁдЁЄ в®а ЇҐаҐ¬Ґ­­®©>, <ўла ¦Ґ­ЁҐ>, <楫®Ґ>, <жЁда > Ё
вҐа¬Ё­ «м­лҐ бЁ¬ў®«л: =, 0,1,2,3,4,5,6,7,8,9.
‚ ⥮ਨ д®а¬ «м­ле Ја ¬¬ вЁЄ Є ¦¤®Ґ ЇаҐ¤бв ў«Ґ­ЁҐ ­ҐвҐа¬Ё­ «м­®-
Ј® бЁ¬ў®«  ­ §лў о⠯தгЄжЁҐ© Ё«Ё Їа ўЁ«®¬. ‚ ЇаҐ¤бв ў«Ґ­­®¬ ўлиҐ
ЇаЁ¬ҐаҐ ¤«п ­ҐвҐа¬Ё­ «м­®Ј® бЁ¬ў®«  <®ЇҐа в®а ЇаЁбў Ёў ­Ёп> Ґбвм в®«м-
Є® ®¤­  Їа®¤гЄжЁп

<®ЇҐа в®а ЇаЁбў Ёў ­Ёп> ::= <Ё¤Ґ­вЁдЁЄ в®а ЇҐаҐ¬Ґ­­®©>
= <ўла ¦Ґ­ЁҐ>
¤«п ­ҐвҐа¬Ё­ «  <楫®Ґ> ¤ўҐ Їа®¤гЄжЁЁ

<楫®Ґ> ::= <жЁда > /* ЇҐаў п Їа®¤гЄжЁп */
||= <楫®Ґ><жЁда > /* ўв®а п Їа®¤гЄжЁп */
¤«п ­ҐвҐа¬Ё­ «  <жЁда > - ¤Ґбпвм Їа®¤гЄжЁ©.
Љ ЄЁ¬ ¦Ґ ®Ўа §®¬ бва®Ёвбп ЇаҐ¤«®¦Ґ­ЁҐ п§лЄ  Ї® ЇаЁўҐ¤Ґ­­л¬ ўлиҐ
бЁ­в ЄбЁзҐбЄЁ¬ Є®­бвагЄжЁп¬. Џ®бв஥­ЁҐ ­ зЁ­ Ґвбп б в®Ј® ­ҐвҐа¬Ё­ «м-
­®Ј® бЁ¬ў®« , Є®в®ал© ®ЇЁблў Ґв ­Ґ®Ўе®¤Ё¬го ў ¬ Є®­бвагЄжЁо. Ќ ЇаЁ¬Ґа,
­ ¤® Ї®бва®Ёвм 楫®Ґ зЁб«®. Ћ­® ®ЇЁблў Ґвбп ­ҐвҐа¬Ё­ «м­л¬ бЁ¬ў®«®¬
<楫®Ґ>. „ «ҐҐ ЇаЁ¬Ґ­пҐвбп в®«мЄ® ®¤­® Їа ўЁ«®, ­  ¬Ґбв® ­ҐвҐа¬Ё­ «м-
­®Ј® бЁ¬ў®«  Ї®¤бв ў«пҐвбп ®¤­  Ё§ бва®Є ҐЈ® ЇаҐ¤бв ў«Ґ­Ёп (®¤­  Ё§
Їа®¤гЄжЁ©). „«п ­ҐвҐа¬Ё­ «  <楫®Ґ> нв® Ё«Ё <жЁда >, Ё«Ё <楫®Ґ><жЁд-
а >. Џ®бва®Ё¬ зЁб«® 2374.

‘ва®Є  Џ®¤бв ­®ўЄ 

<楫®Ґ> <楫®Ґ> ::= <楫®Ґ><жЁда >
<楫®Ґ><жЁда > <楫®Ґ> ::= <楫®Ґ><жЁда >
<楫®Ґ><жЁда ><жЁда > <楫®Ґ> ::= <楫®Ґ><жЁда >
<楫®Ґ><жЁда ><жЁда ><жЁда > <楫®Ґ> ||= <жЁда >

- 8 -

<жЁда ><жЁда ><жЁда ><жЁда > <жЁда > ::= 2
2<жЁда ><жЁда ><жЁда > <жЁда > ::= 3
23<жЁда ><жЁда > <жЁда > ::= 7
237<жЁда > <жЁда > ::= 4
2374

Ћв¬ҐвЁ¬, зв® Ї®Є  ­ЁЄ ЄЁе ®Ја ­ЁзҐ­Ё© ­  Ї®а冷Є Ї®¤бв ­®ў®Є ­Ґ ­ Є« -
¤лў «®бм. ’® Ґбвм ў бва®ЄҐ ¬®¦­® § ¬Ґ­пвм «оЎ®© ­ҐвҐа¬Ё­ «м­л© бЁ¬ў®«
­  ®¤­® Ё§ ҐЈ® ЇаҐ¤бв ў«Ґ­Ё©. ѓ« ў­®Ґ, зв®Ўл ў १г«мв вҐ Ї®¤бв ­®ў®Є
Ї®«гзЁ«®бм в® зЁб«®, Є®в®а®Ґ ¬л бва®Ё¬.
Љ®­бвагЄжЁо 楫®Ј® зЁб«  ¬®¦­® ®ЇЁб вм в Є¦Ґ Ё б ЁбЇ®«м§®ў ­ЁҐ¬
Їгбв®Ј® бЁ¬ў®«  ў ўЁ¤Ґ б«Ґ¤го饩 Є®­бвагЄжЁЁ.

<楫®Ґ> ::= <楫®Ґ><жЁда >
||= *

’®Ј¤  Ї®бв஥­ЁҐ (ўлў®¤) бва®ЄЁ 2374 Ўг¤Ґв ўлЈ«п¤Ґвм б«Ґ¤гойЁ¬
®Ўа §®¬.

‘ва®Є  Џ®¤бв ­®ўЄ 

<楫®Ґ> <楫®Ґ> ::= <楫®Ґ><жЁда >
<楫®Ґ><жЁда > <楫®Ґ> ::= <楫®Ґ><жЁда >
<楫®Ґ><жЁда ><жЁда > <楫®Ґ> ::= <楫®Ґ><жЁда >
<楫®Ґ><жЁда ><жЁда ><жЁда > <楫®Ґ> ::= <楫®Ґ><жЁда >
<楫®Ґ><жЁда ><жЁда ><жЁда ><жЁда > <楫®Ґ> ::= *
<жЁда ><жЁда ><жЁда ><жЁда > <жЁда > ::= 2
2<жЁда ><жЁда ><жЁда > <жЁда > ::= 3
23<жЁда ><жЁда > <жЁда > ::= 7
237<жЁда > <жЁда > ::= 4
2374

- 9 -


Ћ¤­ Є® ЇаЁ ЁбЇ®«м§®ў ­ЁЁ ¤ ­­®© Є®­бвагЄжЁЁ, 楫®Ґ зЁб«® ¬®¦Ґв ­Ґ б®-
¤Ґа¦ вм ­Ё ®¤­®© жЁдал. Ћ¤­ Є® ў ЇҐаў®­ з «м­®© ўҐабЁЁ ЎҐ§ Їгбв®Ј®
бЁ¬ў®«  楫®Ґ ¤®«¦­® б®бв®пвм е®вп Ўл Ё§ ®¤­®© жЁдал. Џ®н⮬㠭Ґ®Ўе®-
¤Ё¬® Ўлвм ®бв®а®¦­л¬ ЇаЁ ЁбЇ®«м§®ў ­ЁЁ Їгбв®Ј® бЁ¬ў®«  Ё ЎҐ§ ­Ґ®Ўе®¤Ё-
¬®бвЁ бв а вмбп Ё¬ ­Ґ Ї®«м§®ў вмбп.
„«п Ї®пб­Ґ­Ёп б¬лб«  бЁ­в ЄбЁзҐбЄЁе Є®­бвагЄжЁ© ¬®¦­® ЁбЇ®«м§®-
ў вм Є®¬¬Ґ­в аЁ©, Є®в®ал© ЇаҐ¤бв ў«пҐв б®Ў®© ⥪бв, § Є«о祭­л© ¬Ґ¦¤г
бЁ¬ў®« ¬Ё /* Ё */. ’® Ґбвм

<Є®¬¬Ґ­в аЁ©> ::= '/*' <⥪бв> '*/'

Ј¤Ґ ⥪бв ¬®¦Ґв ᮤҐа¦ вм «оЎлҐ бЁ¬ў®«л, Єа®¬Ґ ЈагЇЇл бЁ¬ў®«®ў */.
’ҐЄбв Є®¬¬Ґ­в аЁп ў ¬Ґв п§лЄҐ, Є Є Ё ў п§лЄ е Їа®Ја ¬¬Ёа®ў ­Ёп
ЁбЇ®«м§гҐвбп Є Є а §¤Ґ«ЁвҐ«м Ё«Ё ®¤Ё­ Їа®ЎҐ«м­л© бЁ¬ў®«. Џ®н⮬㠪®¬-
¬Ґ­в аЁ© ­Ґ ¬®¦Ґв Ўлвм Ї®¬ҐйҐ­ ў­гвам Є«о祢®Ј® б«®ў . ‘ ¬ ⥪бв Є®¬-
¬Ґ­в аЁп ­Ґ ЁбЇ®«м§гҐвбп. ’®з­л© бЁ­в ЄбЁб Є®¬¬Ґ­в аЁп ЇаЁўҐ¤Ґ­ ў ЇаЁ-
«®¦Ґ­ЁЁ.


2.2. “Їа ў«пойЁҐ Ї®б«Ґ¤®ў вҐ«м­®бвЁ


„«п в®Ј®, зв®Ўл ­Ґ бЇгв вм вҐа¬Ё­ «м­лҐ бЁ¬ў®«л б в®з­® в ЄЁ¬Ё ¦Ґ
¬Ґв бЁ¬ў®« ¬Ё (<,>,',\,_,...), ¤«п Ё§®Ўа ¦Ґ­Ёп вҐа¬Ё­ «м­ле бЁ¬ў®«®ў
ЁбЇ®«м§гов гЇа ў«пойЁҐ Ї®б«Ґ¤®ў вҐ«м­®бвЁ. ‚ ¬Ґв п§лЄҐ гЇа ў«пойЁҐ
Ї®б«Ґ¤®ў вҐ«м­®бвЁ § ЇЁблў овбп в Є¦Ґ, Є Є ў п§лЄҐ ‘€++.
“Їа ў«пойЁҐ Ї®б«Ґ¤®ў вҐ«м­®бвЁ, в Є¦Ґ Ї®§ў®«пов Ї®«гзЁвм ўЁ§г «м-
­®Ґ ЇаҐ¤бв ў«Ґ­ЁҐ ­ҐЄ®в®але ­Ґ Ё¬ҐойЁе Ја дЁзҐбЄ®Ј®  ­ «®Ј  бЁ¬ў®«®ў.
Ћ­Ё ЁбЇ®«м§гов бЁ¬ў®« ®Ўа в­®© ­ Є«®­­®© зҐавл (\). Ќ ЇаЁ¬Ґа, ў Є -
.
- 10 -

“Їа ў«пойЁҐ Ї®б«Ґ¤®ў вҐ«м­®бвЁ
-----------------------------------------------------------------
Џ®б«Ґ¤®ў вҐ«м­®бвм ‡­ зҐ­ЁҐ ‘Ё¬ў®«л ‚лЇ®«­пҐ¬ п дг­ЄжЁп
-----------------------------------------------------------------
\a 0x07 BEL ‡ўгЄ®ў®© бЁЈ­ «
\b 0x08 BS ‡ Ў®©
\f 0x0C FF ЏҐаҐў®¤ Ў« ­Є 
\n 0x0A LF Ќ®ў п бва®Є  (ЇҐаҐў®¤ бва®ЄЁ)
\r 0x0D CR ‚®§ўа в Є аҐвЄЁ
\t 0x09 HT ’ Ўг«пжЁп (Ј®аЁ§®­в «м­ п)
\v 0x0B VT ‚ҐавЁЄ «м­ п в Ўг«пжЁп
\\ 0x5c \ ЋЎа в­ п ­ Є«®­­ п зҐав 
\' 0x27 ' Ћ¤Ё­ а­ п Є ўлзЄ  ( Ї®бва®д)
\" 0x22 " „ў®©­ п Є ўлзЄ 
\? 0x3F ? ‚®Їа®бЁвҐ«м­л© §­ Є
\string{07} «оЎлҐ бЁ¬ў®«, ®ЇаҐ¤Ґ«Ґ­­л© ў®б쬥-
аЁз­л¬ Є®¤®¬ - бва®Є®© ¤®
ваҐе ў®б쬥аЁз­ле жЁда
\char{x,X}string{09,AF} «оЎлҐ бЁ¬ў®«, ®ЇаҐ¤Ґ«Ґ­­л© иҐбв­ ¤-
ж вЁаЁз­л¬ Є®¤®¬ - бва®Є®©
¤® ¤ўге иҐбв­ ¤ж вЁаЁз­ле
жЁда
-----------------------------------------------------------------
зҐб⢥ ®¤­®Ј® бЁ¬ў®«  ­®ў®© бва®ЄЁ ¬®¦­® § ЇЁб вм Є®­бв ­вг \n.

2.3. ЌҐвҐа¬Ё­ «м­лҐ бЁ¬ў®«л

я12.3.1 ‘®Єа йҐ­­ п § ЇЁбм  «мвҐа­ вЁў.
„«п б®Єа йҐ­Ёп § ЇЁбЁ ЇҐаҐзЁб«Ґ­Ёп ЇаҐ¤бв ў«Ґ­Ё© (Їа®¤гЄжЁ©) ­ҐвҐа¬Ё-
­ « , ў¬Ґбв® бЁ¬ў®«®ў ||= ¤®ЇгбЄ Ґвбп ЁбЇ®«м§®ў вм ®¤Ё­ бЁ¬ў®« | . …Ј®
४®¬Ґ­¤гҐвбп ЇаЁ¬Ґ­пвм, Є®Ј¤  а §«Ёз­лҐ ЇаҐ¤бв ў«Ґ­Ёп § ЇЁблў овбп ў

- 11 -

®¤­г бва®Єг. Ќ ЇаЁ¬Ґа, Є®­бвагЄжЁо

<жЁда > ::= 0
||= 1
||= 2
||= 3
||= 4
||= 5
||= 6
||= 7
||= 8
||= 9

¬®¦­® § ЇЁб вм Є®а®зҐ б«Ґ¤гойЁ¬ ®Ўа §®¬:

<жЁда > ::= 0|1|2|3|4|5|6|7|8|9

я12.3.2. Џ®ўв®аҐ­ЁҐ н«Ґ¬Ґ­в®ў Є®­бвагЄжЁ©.
‹оЎ п бва®Є , ᮤҐа¦ й п вҐа¬Ё­ «м­лҐ Ё ­ҐвҐа¬Ё­ «м­лҐ бЁ¬ў®«л, ¬®¦Ґв
Ї®ўв®апвмбп ў Є®­бвагЄжЁЁ ЎҐбЄ®­Ґз­®Ґ зЁб«® а §. ’ Єго бва®Єг (­ §®ўҐ¬
Ґс ᥭ⥭樥©) § Є«оз ов ў бЄ®ЎЄЁ <* Ё *> :
<*ᥭ⥭жЁп*>
ЏаЁ¬Ґа 1. ќЄўЁў «Ґ­в­ п § ЇЁбм Є®­бвагЄжЁЁ

<楫®Ґ> ::= <жЁда >
||= <楫®Ґ><жЁда >

ўлЈ«п¤Ёв б«Ґ¤гойЁ¬ ®Ўа §®¬

<楫®Ґ> ::= <* <жЁда > *>
€«Ё бЇЁб®Є 楫ле зЁбҐ«, ЇҐаҐзЁб«Ґ­­ле зҐаҐ§ § Їпвго Ўг¤Ґв ўлЈ«п-

- 12 -

¤Ґвм б«Ґ¤гойЁ¬ ®Ўа §®¬.
<бЇЁб®Є 楫ле зЁбҐ«> ::= <楫®Ґ> <* ',' <楫®Ґ> *>_
‘Ё¬ў®« _ ®§­ з Ґв ў®§¬®¦­®бвм ®вбгвбвўЁп бЁ­в ЄбЁзҐбЄ®© Є®­бвагЄ-
жЁЁ <* ',' <楫®Ґ> *>.
Љ®­Ґз­®Ґ зЁб«® Ї®ўв®аҐ­Ё© Є®­бвагЄжЁЁ § ¤ Ґвбп жҐ«л¬ зЁб«®¬, § -
ЇЁб ­­л¬ Ї®б«Ґ бЁ¬ў®«®ў *> . Ќ ЇаЁ¬Ґа, <*<жЁда >*>10 ®§­ з Ґв ¤ҐбпвЁ§-
­ з­®Ґ 楫®Ґ зЁб«®.
‡ ЇаҐй Ґвбп гЄ §лў вм зЁб«® Ї®ўв®аҐ­Ё© 0.


я12.3.3. ЋвбгвбвўЁҐ н«Ґ¬Ґ­в®ў Є®­бвагЄжЁ©.
‹оЎ®© ­ҐвҐа¬Ё­ «м­л©, вҐа¬Ё­ «м­л© бЁ¬ў®«л,   в Є¦Ґ ᥭ⥭жЁп (Є®¬ЎЁ-
­ жЁп вҐа¬Ё­ «м­ле Ё ­ҐвҐа¬Ё­ «м­ле бЁ¬ў®«®ў) ¬®¦Ґв ®вбгвбвў®ў вм.
‡­ Є Ї®¤зҐаЄЁў ­Ёп _ ў® ўбҐе Є®­бвагЄжЁпе ®Ў®§­ з Ґв ў®§¬®¦­®бвм Ёе
®вбгвбвўЁп. ’® Ґбвм <* <жЁда > *> Ї®а®¦¤ Ґв ®в ®¤­®© ¤® ЎҐбЄ®­Ґз­®Ј®
зЁб«  жЁда,   <* <жЁда > *>_ ¬®¦Ґв ­Ґ Ї®а®¦¤ вм ­Ё ®¤­®© жЁдал, ¬®¦Ґв
Ї®а®¦¤ вм ®¤­г Ё Ў®«ҐҐ жЁда.

ЏаЁ¬Ґа 2. Љ®­бвагЄжЁп
<楫®Ґ> ::= <жЁда >
||= <楫®Ґ>,<жЁда >
нЄўЁў «Ґ­в­ 
<楫®Ґ> ::= <жЁда ><* , <жЁда > *>_
€бЇ®«м§®ў ­ЁҐ нв®Ј® §­ Є  б вҐа¬Ё­ «м­л¬ Ё«Ё ­ҐвҐа¬Ё­ «м­л¬ бЁ¬-
ў®«®¬ ®§­ з Ґв ў®§¬®¦­®бвм ҐЈ® ®вбгвбвўЁп. ’® Ґбвм <жЁда >_ Ї®а®¦¤ Ґв,
«ЁЎ® ®¤­г жЁдаг, «ЁЎ® ­Ё ®¤­®©. ‡ ЇЁбм 7_ ®§­ з Ґв, зв® жЁда  7 ¬®¦Ґв
Ўлвм,   ¬®¦Ґв Ё ®вбгвбвў®ў вм.

2.4. ’Ґа¬Ё­ «м­лҐ бЁ¬ў®«л

Љ Є 㦥 ®в¬Ґз «®бм а ­ҐҐ вҐа¬Ё­ «м­лҐ бЁ¬ў®«л ў ¬Ґв п§лЄҐ ЇаҐ¤б-

- 13 -

в ў«пов б ¬Ё ᥡп. ЏаЁ¬Ґал вҐа¬Ё­ «м­ле бЁ¬ў®«®ў while for do [ 0
fg a Ё в.¤. ’ ЄЁҐ вҐа¬Ё­ «м­лҐ бЁ¬ў®«л ­Ґ«м§п а §¤Ґ«Ёвм ­  з бвЁ. Ќ Ї-
аЁ¬Ґа while Ё whi le ­Ґ ®¤­® Ё ⮦Ґ.
Ќ ап¤г б ЇаЁўҐ¤Ґ­­л¬ ўлиҐ ­Ґпў­л¬ ®Ў®§­ зҐ­ЁҐ¬ вҐа¬Ё­ «м­ле бЁ¬-
ў®«®ў ў ¬Ґв п§лЄҐ Ё¬Ґовбп б।бвў  ¤«п Ёе пў­®Ј® § ¤ ­Ёп. Џ®б«Ґ¤®ў -
⥫쭮бвм вҐа¬Ё­ «м­ле бЁ¬ў®«®ў,   в Є¦Ґ ®в¤Ґ«м­л© вҐа¬Ё­ «м­л© бЁ¬ў®«
¬®¦­® ўл¤Ґ«Ёвм ў  Ї®бва®д е. Ќ ЇаЁ¬Ґа, ЇаҐ¤л¤гйЁҐ ЇаЁ¬Ґал ¬®¦­® § ЇЁ-
б вм.
'while' нЄўЁў «Ґ­в­® while
'for' нЄўЁў «Ґ­в­® for
'whi''le' нЄўЁў «Ґ­в­® whi le
'whi''le' ­Ґ нЄўЁў «Ґ­в­® while
'1' нЄўЁў «Ґ­в­® 1
‡ ЇЁбЁ 'whi''le' Ё whi le ¤®ЇгбЄ ов ­ «ЁзЁҐ «оЎ®Ј® зЁб«  Їа®ЎҐ«м-
­ле бЁ¬ў®«®ў ¬Ґ¦¤г whi Ё le. Џа®ЎҐ«м­лҐ бЁ¬ў®«л ®ЇаҐ¤Ґ«Ґ­л ў ЇаЁ«®¦Ґ-
­ЁЁ. ‚ з бв­®бвЁ Є ­Ё¬ ®в­®бпвбп бЁ¬ў®«л Їа®ЎҐ« Ё бЁ¬ў®« ­®ў®© бва®ЄЁ,
  в Є¦Ґ Є®¬¬Ґ­в аЁ©.
‚ б«гз Ґ ®вбгвбвўЁп  Ї®бва®д®ў бЁ¬ў®« а бб¬ ваЁў Ґвбп ў ЇҐаўго
®зҐаҐ¤м Є Є ¬Ґв бЁ¬ў®«. € в®«мЄ® Ґб«Ё ®­ ­Ґ б®ўЇ ¤ Ґв ­Ё б ®¤­Ё¬ ¬Ґв -
бЁ¬ў®«®¬, ҐЈ® б«Ґ¤гҐв а бб¬ ваЁў вм, Є Є вҐа¬Ё­ «м­л© бЁ¬ў®«. Ќ ЇаЁ¬Ґа,
ў Їа®¤гЄжЁпе
<жЁда > ::= 0|1|2|3|4|5|6|7|8|9
бЁ¬ў®« | нв® ¬Ґв бЁ¬ў®«. Ћ­ а §¤Ґ«пҐв Їа®¤гЄжЁЁ. Ћ¤­ Є® Їа®¤гЄжЁп
<жЁда > ::= '0|1|2|3|4|5|6|7|8|9'
®ЇаҐ¤Ґ«пҐв ­Ґ ¬­®¦Ґбвў® жЁда,   в®«мЄ® ®¤­г бва®Єг, ᮤҐа¦ йго 19 бЁ¬-
ў®«®ў - 10 жЁда, а §¤Ґ«Ґ­­ле ўҐавЁЄ «м­®© зҐав®©.
”®а¬г ўл¤Ґ«Ґ­Ёп вҐа¬Ё­ «м­ле бЁ¬ў®«®ў  Ї®бва®д ¬Ё Ї®«Ґ§­® ЇаЁ¬Ґ-
­пвм ¤«п § ЇЁбЁ вҐа¬Ё­ «м­ле бЁ¬ў®«®ў, б®ўЇ ¤ ойЁе б ¬Ґв бЁ¬ў®« ¬Ё,
ў¬Ґбв® гЇа ў«пойЁе Ї®б«Ґ¤®ў вҐ«м­®б⥩. Ќ ЇаЁ¬Ґа, '\' '<' '<*' '{' Ё
в Є ¤ «ҐҐ.


- 14 -

я12.4.1. ‘Ё¬ў®« Ё§ ¬­®¦Ґбвў .
„«п Ґйс Ў®«м襣® гЇа®йҐ­Ёп § ЇЁбЁ вҐа¬Ё­ «м­ле бЁ¬ў®«®ў ўўҐ¤Ґ¬ нЄўЁў -
«Ґ­в­лҐ Є®­бвагЄжЁЁ:

char{x,ad,...} Ё [x,ad,...]

ЋЎҐ Є®­бвагЄжЁЁ ®Ў®§­ з ов ®¤Ё­ бЁ¬ў®« Ё§ ¬­®¦Ґбвў  бЁ¬ў®«®ў, ЇҐ-
аҐзЁб«Ґ­­ле ў дЁЈга­ле бЄ®ЎЄ е. …б«Ё н«Ґ¬Ґ­в®¬ ¬­®¦Ґбвў  пў«повбп ¤ўҐ
ЎгЄўл, Є Є ў ­ иҐ¬ ЇаЁ¬ҐаҐ ad, в® ®­Ё § ¤ ов Ја ­Ёз­лҐ н«Ґ¬Ґ­вл ¬­®-
¦Ґбвў. ’.Ґ. char{ad} = char{a,b,c,d}. Ћ¤­ Є®, Ґб«Ё н«Ґ¬Ґ­в®¬ ¬­®¦Ґбвў 
пў«пҐвбп 楯®зЄ  бЁ¬ў®«®ў, в® Ґс ­Ґ®Ўе®¤Ё¬® ўл¤Ґ«пвм ў  Ї®бва®дл. Ќ Ї-
аЁ¬Ґа, char{a,bc,'bc','/*','*/'} ®§­ з Ґв б«Ґ¤го饥 ¬­®¦Ґбвў® бЁ¬ў®«®ў.
char{a,b,c,'bc','/*','*/'}
’® Ґбвм ЇаЁ Ї®а®¦¤Ґ­ЁЁ бва®ЄЁ ў¬Ґбв® char{a,b,c,'bc','/*','*/'} ¬®¦­®
Ї®¤бв ўЁвм «оЎ®© вҐа¬Ё­ «м­л© бЁ¬ў®« Ё§ a, b, c, bc , /*, */ .
ЏаЁ ЁбЇ®«м§®ў ­ЁЁ ¤ ­­®© д®а¬л § ЇЁбЁ Є®­бвагЄжЁо <жЁда > ¬®¦­®
ЇаҐ¤бв ўЁвм ў ўЁ¤Ґ:

<жЁда > ::= char{09} Ё«Ё <жЁда > ::= [09]
зв® нЄўЁў «Ґ­в­®
<жЁда > ::= char{0,1,2,3,4,5,6,7,8,9}
Ё«Ё
<жЁда > ::= 0|1|2|3|4|5|6|7|8|9

„ ­­лҐ Є®­бвагЄжЁЁ в Є¦Ґ ¬®¦­® ЁбЇ®«м§®ў вм б®ў¬Ґбв­® б бЁ¬ў®«®¬
_, Є®в®ал© гЄ §лў Ґв ­  в®, зв® Є®­бвагЄжЁп ¬®¦Ґв ®вбгвбвў®ў вм. ‘Ё¬-
ў®« '_' ®в­®бЁвбп Є® ўбҐ© Є®­бвагЄжЁЁ char,   ­Ґ Є бЁ¬ў®« ¬ ¬­®¦Ґбвў .
’® Ґбвм ¬®¦­® § ЇЁб вм char{09}_ Ё«Ё [09]_ , ­® § ЇаҐйҐ­  § ЇЁбм
[09_].
Ћв¤Ґ«м­лҐ бЁ¬ў®«л ў ¬­®¦Ґб⢥ ¬®¦­® гЄ §лў вм в Є¦Ґ б Ї®¬®ймо гЇ-
а ў«пойЁе Ї®б«Ґ¤®ў вҐ«м­®б⥩.

- 15 -


я12.4.2. ‘Ё¬ў®«, ­Ґ ЇаЁ­ ¤«Ґ¦ йЁ© ¬­®¦Ґбвўг
Њ­®¦Ґбвў® бЁ¬ў®«®ў §  ЁбЄ«о祭ЁҐ¬ гЄ § ­­ле ®Ў®§­ з ов б Ї®¬®ймо ЇаҐ-
¤л¤гйЁе Є®­бвагЄжЁ© б гЄ § ­ЁҐ¬ ўЇҐаҐ¤Ё Є ¦¤®© ў®бЄ«Ёж вҐ«м­®Ј® §­ Є ,
Є®в®ал© ®§­ з Ґв ®ваЁж ­ЁҐ.
‡ ЇЁбЁ !char {a,bc}, ![a,bc] ®§­ з ов «оЎ®© бЁ¬ў®«, ­Ґ ЇаЁ­ ¤«Ґ-
¦ йЁ© гЄ § ­­®¬г ¬­®¦Ґбвўг. Ќ ЇаЁ¬Ґа, «оЎ®© бЁ¬ў®«, Є®в®ал© ¬®¦Ґв ­ -
室Ёвбп ў ⥪б⥠Є®¬¬Ґ­в аЁп, ¬®¦­® ®ЇЁб вм ў ўЁ¤Ґ:
<бЁ¬ў®« Є®¬¬Ґ­в аЁп> ::= !char{'/*','*/'}
„ ­­лҐ Є®­бвагЄжЁЁ в Є¦Ґ ¬®¦­® ЁбЇ®«м§®ў вм б®ў¬Ґбв­® б бЁ¬ў®«®¬
_, Є®в®ал© гЄ §лў Ґв ­  в®, зв® Є®­бвагЄжЁп ¬®¦Ґв ®вбгвбвў®ў вм.
ЋЇҐа жЁп ! Ё¬ҐҐв ўлиҐ ЇаЁ®аЁвҐв, 祬 _. Џ®н⮬㠧 ЇЁбм
!char{'/*','*/'}_
®§­ з Ґв, зв® ўбп Є®­бвагЄжЁп !char{'/*','*/'} ¬®¦Ґв ®вбгвбвў®ў вм.
Ћв¤Ґ«м­лҐ бЁ¬ў®«л ў ¬­®¦Ґб⢥ ¬®¦­® гЄ §лў вм в Є¦Ґ б Ї®¬®ймо гЇ-
а ў«пойЁе Ї®б«Ґ¤®ў вҐ«м­®б⥩.

я12.4.3. ‘ва®Є  бЁ¬ў®«®ў Ё§ ¬­®¦Ґбвў .
Љ®­бвагЄжЁп string § ¤ Ґв ­Ґ ®¤Ё­ бЁ¬ў®«,   бва®Єг бЁ¬ў®«®ў Ё§ н«Ґ¬Ґ­-
в®ў ¬­®¦Ґбвў  ў дЁЈга­ле бЄ®ЎЄ е. Ќ ЇаЁ¬Ґа, бва®ЄЁ a, aa, b, ab,bba,
... ¬®¦­® Є®а®вЄ® § ЇЁб вм ў ўЁ¤Ґ:
string{ab} Ё«Ё {ab} Ё«Ё {a,b} Ё«Ё string{a,b}
Њ­®¦Ґбвў® бЁ¬ў®«®ў Ё§ Є®в®але б®бв®Ёв бва®Є  § ¤ Ґвбп ў дЁЈга­ле бЄ®Ў-
Є е  ­ «®ЈЁз­® ¬­®¦Ґбвўг ў char. ‘ва®Є , ®ЇаҐ¤Ґ«Ґ­­ п в ЄЁ¬ ®Ўа §®¬
¤®«¦­  ᮤҐа¦ вм, Є Є ¬Ё­Ё¬г¬ ®¤Ё­ бЁ¬ў®«.
‘ Ї®¬®ймо нв®© Є®­бвагЄжЁЁ ¬®¦­® § ЇЁб вм <楫®Ґ зЁб«®> Ў®«ҐҐ
Їа®бвл¬ бЇ®б®Ў®¬.
<楫®Ґ> ::= string{09}
зв® нЄўЁў «Ґ­в­® Є®­бвагЄжЁЁ
<楫®Ґ> ::= <жЁда >
||= <楫®Ґ><жЁда >

- 16 -


‚ ¤ ­­®© Є®­бвагЄжЁЁ ¬®¦­® ЁбЇ®«м§®ў вм ®ЇҐа жЁЁ _ Ё !. Ќ ЇаЁ¬Ґа,
бЁ­в ЄбЁб Є®¬¬Ґ­в аЁп ¬®¦­® § ЇЁб вм ў ўЁ¤Ґ:

<Є®¬¬Ґ­в аЁ©> ::= '/*' <⥪бв Є®¬¬Ґ­в аЁп> '*/'
||= '//' <бва®з­л© Є®¬¬Ґ­в аЁ©>_

<⥪бв Є®¬¬Ґ­в аЁп>
::= !string{'/*','*/'}_
/* бва®Є  Ё§ «оЎле бЁ¬ў®«®ў, ­Ґ ЇаЁ­ ¤«Ґ¦ йЁе
гЄ § ­­®¬г ¬­®¦Ґбвўг */
<бва®з­л© Є®¬¬Ґ­в аЁ©>
::= !string{\12,\15}
Ћв¬ҐвЁ¬, зв® ®ЇҐа жЁп ! Ё¬ҐҐв ЇаЁ®аЁвҐв ўлиҐ, 祬 _. ’ ЄЁ¬ ®Ўа -
§®¬, !string{'/*','*/'}_ ®§­ з Ґв, зв® ¬®¦Ґв ®вбгвбвў®ў вм ўбп Є®­б-
вагЄжЁп !string{'/*','*/'}.

я12.4.4. ‘ва®Є  Ё§ ®¤Ё­ Є®ўле бЁ¬ў®«®ў.
‘ва®Єг Ё§ ®¤Ё­ Є®ўле бЁ¬ў®«®ў ¬®¦­® § ЇЁб вм, ЁбЇ®«м§гп string. Ќ ЇаЁ-
¬Ґа, бва®Є  Ё§ n бЁ¬ў®«®ў a ¬®¦Ґв Ўлвм ЇаҐ¤бв ў«Ґ­  ў ўЁ¤Ґ {a}. —Ёб«®
бЁ¬ў®«®ў ў в Є®© бва®ЄҐ ®в ®¤­®Ј® ¤® ЎҐбЄ®­Ґз­®бвЁ. ’® Ґбвм нв® ¬®¦Ґв
Ўлвм a , aa , aaa, aaa... .
ђ бᬮваЁ¬ б«Ґ¤гойго Ја ¬¬ вЁЄг.
<A> ::= a<A>b
||= y
ЌҐваг¤­® гЎҐ¤Ёвбп, зв® ¤ ­­ п Ја ¬¬ вЁЄ  Ї®а®¦¤ Ґв ¬­®¦Ґбвў®
ЇаҐ¤«®¦Ґ­Ё© вЁЇ  aa...ybb..., ЇаЁзҐ¬ зЁб«® бЁ¬ў®«®ў a ў Є ¦¤®¬ ЇаҐ¤«®-
¦Ґ­ЁЁ а ў­  зЁб«г бЁ¬ў®«®ў b. Eб«Ё ¬л § ЇЁиҐ¬ в Є®Ґ ЇаҐ¤«®¦Ґ­ЁҐ ў ўЁ¤Ґ
{a}y{b}, в® нв® Ўг¤Ґв ­ҐЇа ўЁ«м­®, Ї®бЄ®«мЄг ¤ ­­ п § ЇЁбм ¤®ЇгбЄ Ґв
­Ґа ў­®Ґ зЁб«® бЁ¬ў®«®ў a Ё b ў Ї®а®¦¤ Ґ¬®© бва®ЄҐ.
„«п ®ЎҐбЇҐзҐ­Ёп ў®§¬®¦­®бвЁ ЇаҐ¤бв ў«Ґ­Ёп ЇаҐ¤«®¦Ґ­Ё© б ®¤Ё­ Є®-

- 17 -

ўл¬ зЁб«®¬ бЁ¬ў®«®ў Ё ЇаҐ¤­ §­ зҐ­  Є®­бвагЄжЁп a^. ќв  бва®Є  ᮤҐа-
¦Ёв ®в ®¤­®Ј® ¤® ЎҐбЄ®­Ґз­®Ј® зЁб«  бЁ¬ў®«®ў. ЏаЁзҐ¬, Ґб«Ё ў бва®ЄҐ
­ е®¤Ёвбп ҐйҐ ®¤Ё­ бЁ¬ў®« б® §­ Є®¬ ^ , в® зЁб«® бЁ¬ў®«®ў, бв®пйЁе
б«Ґў  ®в нвЁе §­ Є®ў ў Ї®а®¦¤ Ґ¬ле бва®Є е ¤®«¦­л Ўлвм а ў­л¬Ё. ЏаҐ¤-
«®¦Ґ­­ п ўлиҐ Є®­бвагЄжЁп ¬®¦Ґв Ўлвм § ЇЁб ­  ў ўЁ¤Ґ.
<A> ::= a^yb^
‡­ Є ^ ¬®¦Ґв ЇаЁ¬Ґ­пвмбп б ЈагЇЇ®© вҐа¬Ё­ «м­ле бЁ¬ў®«®ў ('ac'^),
  в Є¦Ґ б ®¤­Ё¬ ­ҐвҐа¬Ё­ «м­л¬ бЁ¬ў®«®¬ ( <A>^ ).
…б«Ё зЁб«® Ї®ўв®аҐ­Ё© бЁ¬ў®«®ў в®з­® ®ЇаҐ¤Ґ«Ґ­®, в® ®­® § ЇЁблў -
Ґвбп Ї®б«Ґ §­ Є  ^. Ќ ЇаЁ¬Ґа, aaaa ¬®¦­® § ЇЁб вм Є Є a^4. „ ­­го ®ЇҐ-
а жЁо ^ ¬®¦­® ЇаЁ¬Ґ­Ёвм Ё Є ­ҐвҐа¬Ё­ «м­®¬г бЁ¬ў®«г. Ќ ЇаЁ¬Ґа,
<жЁда >^5 ®§­ з Ґв бва®Єг Ё§ ЇпвЁ жЁда
<жЁда ><жЁда ><жЁда ><жЁда ><жЁда >
‹оЎго ४габЁў­го Є®­бвагЄжЁо ¬®¦­® ЇаҐ¤бв ўЁвм ў ®¤­®¬ Ё§ ваҐе
ўЁ¤®ў:
<A> ::= <A><Z>
<A> ::= <Z><A>
<A> ::= <C><A><Z>
Їг⥬ Їа®бв®Ј® ЇҐаҐ®Ў®§­ зҐ­Ёп Їа ўле Ё «Ґўле ᥭ⥭権 ў Їа®¤гЄжЁпе
­ҐвҐа¬Ё­ «м­л¬Ё бЁ¬ў®« ¬Ё. Ќ ЇаЁ¬Ґа,
<A> ::= cfg<B><A>f<A>
¬®¦­® § ЇЁб вм ў ўЁ¤Ґ
<A> ::= <‘><A><Z>
<C> ::= cfg<B>
<Z> ::= f<A>
Ё«Ё
<A> ::= <Z><A>
<Z> ::= cfg<B><A>f
‚ бў®о ®зҐаҐ¤м Є ¦¤л© Ё§ ваҐе ў аЁ ­в®ў ¬®¦Ґв Ўлвм ЇаҐ¤бв ў«Ґ­ б
Ї®¬®ймо ®ЇҐа жЁ© ^ Ё <* *>.
<A> ::= <A><* <Z> *> // <A> ::= <A><Z>

- 18 -

<A> ::= <* <Z> *><A> // <A> ::= <Z><A>
<A> ::= <C>^<A><Z>^ // <A> ::= <C><A><Z>
ЋЇҐа жЁп ^ ­Ґ®Ўе®¤Ё¬  в®«мЄ® ¤«п бЁ­в ЄбЁзҐбЄЁе Є®­бвагЄжЁ©
ваҐв쥣® ўЁ¤ , Є®Ј¤  ­г¦­® § ¤ вм а ў­®Ґ зЁб«® Ї®ўв®аҐ­Ё©. ЏаЁзҐ¬ нв®
вॡгҐвбп в®«мЄ® ў ⮬ б«гз Ґ, Ґб«Ё Ґбвм ­Ґ®¤­®§­ з­®бвм ЇаЁ ўлЎ®аҐ
Їа®¤гЄжЁ©. ‚ ®бв «м­ле б«гз пе нв®© ®ЇҐа жЁҐ© Ї®«м§®ў вмбп ­Ґ ४®¬Ґ­-
¤гҐвбп.
‚ Є зҐб⢥ ¤®Ї®«­ЁвҐ«м­®© Ё««обва жЁЁ ЁбЇ®«м§®ў ­Ёп ¬Ґв п§лЄ  ў
ЇаЁ«®¦Ґ­ЁЁ ЇаЁўҐ¤Ґ­® Ї®«­®Ґ Ё в®з­®Ґ ®ЇЁб ­ЁҐ ¬Ґв п§лЄ  ­  ¬Ґв п§лЄҐ.

я12.4.5. ЋЇҐа жЁп Є®­Є вҐ­ жЁЁ бва®Є
‚ ¬Ґв п§лЄҐ ¬Ґ¦¤г ¤ўг¬п бЁ­в ЄбЁзҐбЄЁ¬Ё Є®­бвагЄжЁп¬Ё ¤®ЇгбЄ Ґвбп
®¤Ё­ Ё Ў®«ҐҐ Їа®ЎҐ«м­ле бЁ¬ў®«®ў. ’ ЄЁ¬ ®Ўа §®¬,
'while''(' нЄўЁў «Ґ­в­  'while' '('
while(
while (
'while' '('
'while'
'('
<tt><h> нЄўЁў «Ґ­в­  <tt> <h>
<tt> <h>
d <yy> нЄўЁў «Ґ­в­  d <yy>
d<yy>
d <yy>
d <yy>
Ё в Є ¤ «ҐҐ.
Ћ¤­ Є® ў ­ҐЄ®в®але Є®­бвагЄжЁпе ­Ґ®Ўе®¤Ё¬®, зв®Ўл ¬Ґ¦¤г Є®­бвагЄ-
жЁп¬Ё Їа®ЎҐ«м­лҐ бЁ¬ў®«л Ўл«Ё ­Ґ¤®ЇгбвЁ¬л. Ќ ЇаЁ¬Ґа, Ё¤Ґ­вЁдЁЄ в®а
п§лЄ  ‘€++ ¬®¦­® § ЇЁб вм б«Ґ¤гойЁ¬ ®Ўа §®¬.
<Ё¤Ґ­вЁдЁЄ в®а> ::= char{az,AZ,_}string{az,AZ,09,_}
‚ н⮬ б«гз Ґ ¬Ґ¦¤г ЇҐаўл¬ бЁ¬ў®«®¬ Ё¤Ґ­вЁдЁЄ в®а  Ё Ї®б«Ґ¤гойЁ¬Ё

- 19 -

­Ґ ¬®¦Ґв Ўлвм Їа®ЎҐ«м­ле бЁ¬ў®«®ў. Џ®н⮬㠯ਢҐ¤Ґ­­ п ўлиҐ § ЇЁбм Ўг-
¤Ґв ­ҐўҐа­ . „«п в®Ј®, зв®Ўл § ЇаҐвЁвм нвЁ Їа®ЎҐ«м­лҐ бЁ¬ў®«л ў ¬Ґв п-
§лЄ ўўҐ¤Ґ­  ®ЇҐа жЁп Є®­Є вҐ­ жЁЁ, ®Ў®§­ з Ґ¬ п ¬Ґв бЁ¬ў®«®¬ +. Џа -
ўЁ«м­ п § ЇЁбм бЁ­в ЄбЁб  Ё¤Ґ­вЁдЁЄ в®а  Ўг¤Ґв б«Ґ¤го饩
<Ё¤Ґ­вЁдЁЄ в®а> ::= char{az,AZ,_} + string{az,AZ,09,_}
‡ ЇЁбм 'whi'+ le Ўг¤Ґв нЄўЁў «Ґ­в  while Ё«Ё 'while'.
ЋЇҐа жЁп Є®­Є вҐ­ жЁЁ в Є¦Ґ ¤®ЇгбвЁ¬  Ё ¤«п § ЇаҐв  Їа®ЎҐ«м­ле бЁ¬ў®-
«®ў ¬Ґ¦¤г ­ҐвҐа¬Ё­ «м­л¬Ё Є®­бвагЄжЁп¬Ё,   в Є¦Ґ вҐа¬Ё­ «м­л¬Ё Ё ­Ґ-
вҐа¬Ё­ «м­л¬Ё Є®­бвагЄжЁп¬Ё. ЋвбгвбвўЁҐ §­ Є  + ­Ґ ®§­ з Ґв, зв® Їа®Ј-
а ¬¬  а §Ў®а   ўв®¬ вЁзҐбЄЁ Ўг¤Ґв Їа®ЇгбЄ вм Їа®ЎҐ«л. ќв® ®§­ з Ґв
«Ёим в®, зв® ®­Ё ¤®ЇгбвЁ¬л.

2.5. ЉагЈ«лҐ бЄ®ЎЄЁ

ЉагЈ«лҐ бЄ®ЎЄЁ ў ¬Ґв п§лЄҐ ЁбЇ®«м§говбп в Є¦Ґ Є Є Ё ў ¬ вҐ¬ вЁ-
зҐбЄЁе ўла ¦Ґ­Ёпе. ‡  ЄагЈ«лҐ бЄ®ЎЄЁ ¬®¦­® ўл­®бЁвм ®Ўйго з бвм а §-
«Ёз­ле ЇаҐ¤бв ў«Ґ­Ё© ( «мвҐа­ вЁў) ®¤­®Ј® Ё в®Ј® ¦Ґ ­ҐвҐа¬Ё­ «м­®Ј®
бЁ¬ў®« . Ќ ЇаЁ¬Ґа, ў Є®­бвагЄжЁЁ
<E> ::= <E> + <T>
||= <E> - <T>
||= <T>
¬®¦­® ўл­ҐбвЁ §  бЄ®ЎЄЁ <E> ў ЇҐаўле ¤ўге  «мвҐа­ вЁў е
<E> ::= <E> ( + <T> | - <T>)
||= <T>
Њ®¦­® ўл­®бЁвм §  бЄ®ЎЄЁ ­Ґ в®«мЄ® ў«Ґў® ­® Ё ўЇа ў®. Џа®¤®«¦ п ЇаҐ®Ў-
а §®ў ­ЁҐ ЇаЁўҐ¤Ґ­­®Ј® ўлиҐ ЇаЁ¬Ґа  Ї®«гзЁ¬
<E> ::= <E> ( + | - ) <T>
||= <T>




- 20 -

2.6. ‘Ґ¬ ­вЁЄ  п§лЄ 

„«п ®ЇаҐ¤Ґ«Ґ­Ёп б¬лб«  в®© Ё«Ё Ё­®© бЁ­в ЄбЁзҐбЄ®© Є®­бвагЄжЁЁ ў
¬Ґв п§лЄҐ ЁбЇ®«м§говбп Є®­бвагЄжЁЁ п§лЄ  ‘€. ќв® ¬®Јгв Ўлвм ­ҐЇ®б।б-
⢥­­® ®ЇҐа в®ал п§лЄ  Ё«Ё ўл§®ўл дг­ЄжЁ©. ‘Ґ¬ ­вЁЄ  ¬®¦Ґв Ўлвм а §¬Ґ-
饭  ­ҐЇ®б।б⢥­­® §  «оЎл¬ вҐа¬Ё­ «м­л¬ бЁ¬ў®«®¬, ­ҐвҐа¬Ё­ «м­л¬
бЁ¬ў®«®¬ Ё «оЎ®© ᥭ⥭樥©,   в Є¦Ґ §  ЄагЈ«л¬Ё бЄ®ЎЄ ¬Ё.
‡ ЇЁбм ᥬ ­вЁЄЁ ў ¬Ґв п§лЄҐ ¬®¦Ґв ®бгйҐбвў«пвбп б«Ґ¤гойЁ¬Ё бЇ®-
б®Ў®¬.

<ᥬ ­вЁЄ > ::= '#{' < ⥪бв_­ _п§лЄҐ_‘€ > '}#'

Џа ўЁ«м­®бвм § ЇЁбЁ ⥪бв  бҐ¬ ­вЁЄЁ Ё Ї а ¬Ґва®ў дг­ЄжЁ© Їа®ўҐ-
апҐвбп ­  нв ЇҐ ва ­б«пжЁЁ бЈҐ­ҐаЁа®ў ­­®Ј® ⥪бв   ­ «Ё§ в®а  Є®¬ЇЁ-
«пв®а®¬ п§лЄ  ‘€.
”а Ј¬Ґ­в Їа®Ја ¬¬л ЁбЇ®«­пҐвбп ЇаЁ гб«®ўЁЁ, зв® ЇаЁ а §Ў®аҐ ⥪г-
饣® бЁ¬ў®«  Ёб室­®Ј® ЇаҐ¤«®¦Ґ­Ёп ЁбЇ®«м§®ў «бп н«Ґ¬Ґ­в бЁ­в ЄбЁзҐб-
Є®© Є®­бвагЄжЁЁ, ўб«Ґ¤ §  Є®в®а®© а бЇ®« Ј Ґвбп ¤ ­­л© да Ј¬Ґ­в ᥬ ­-
вЁЄЁ.
ђ бᬮваЁ¬ Їа®Ја ¬¬г ­  ¬Ґв п§лЄҐ, ўлЇ®«­пойго бЁ­в ЄбЁзҐбЄЁ©
 ­ «Ё§ Ё д®а¬Ёа®ў ­ЁҐ ¤ҐбпвЁз­®Ј® зЁб« .
/* -------------------------------------------------------- */

<¤ҐбпвЁз­®Ґ зЁб«®> /*Їа®Ја ¬¬  а §Ў®а  ¤ҐбпвЁз­®Ј® зЁб« */
::= <зЁб«®>
semantics { Decimal = Float;}
( .<зЁб«®> ';'
#{ for (i=1; i <= number; i++;)
Float /= 10;
Decimal += Float;
}#

- 21 -

| ';'
#{ Decimal = Float; }# )
/* -------------------------------------------------------- */

<зЁб«®> /* а §Ў®а 楫®Ј® зЁб« */
::= <жЁда >
#{ Float = Digit;
number = 1;
}#
||= <зЁб«®> <жЁда >
#{ Float = Float * 10 + Digit;
number++; }#

/* -------------------------------------------------------- */

<жЁда > /* а §Ў®а жЁда */
::= '0'
#{ Digit = 0; }#
||= '1'
#{ Digit = 1; }#
||= '2'
#{ Digit = 2; }#
||= '3'
#{ Digit = 3; }#
||= '4'
#{ Digit = 4; }#
||= '5'
#{ Digit = 5; }#
||= '6'
#{ Digit = 6; }#
||= '7'

- 22 -

#{ Digit = 7; }#
||= '8'
#{ Digit = 8; }#
||= '9'
#{ Digit = 9; }#
ЋЇЁб ­Ёп ЇҐаҐ¬Ґ­­ле ®Ўлз­® Ї®¬Ґй овбп ў ®в¤Ґ«м­®¬ да Ј¬Ґ­вҐ Їа®Ј-
а ¬¬л, ­® ¬®Јгв Ўлвм а §¬ҐйҐ­л ў ЇҐаў®¬ Ё§ да Ј¬Ґ­в®ў Їа®Ја ¬¬л а §Ў®-
а  ­  ¬Ґв п§лЄҐ. „«п ¤ ­­®© Їа®Ја ¬¬л ®­Ё Ўг¤гв б«Ґ¤гойЁ¬Ё
int i, number;
float Digit, Float, Decimal;
Љ Є ўЁ¤­® Ё§ Їа®Ја ¬¬л १г«мв в ўлзЁб«Ґ­Ё© (¤Ґ©б⢨⥫쭮Ґ зЁб-
«®) § ЇЁблў Ґвбп ў ЇҐаҐ¬Ґ­­го Decimal. ‚ ЇҐаҐ¬Ґ­­®© Digit Ї®б«Ґ  ­ «Ё-
§  Є ¦¤®© жЁдал § ЇЁблў Ґвбп ҐҐ §­ зҐ­ЁҐ. ЏаЁ д®а¬Ёа®ў ­ЁҐ зЁб«  §­ -
祭ЁҐ ЇҐаў®© ҐЈ® жЁдал ЇаЁбў Ёў Ґвбп зЁб«г, Ё бзҐвзЁЄ жЁда ў зЁб«Ґ
number гбв ­ ў«Ёў Ґвбп а ў­л¬ Ґ¤Ё­ЁжҐ. ЏаЁ ¤ «м­Ґ©иҐ¬ а §Ў®аҐ жЁда Ёе
§­ зҐ­ЁҐ ЇаЁЎ ў«пҐвбп Є ЇаҐ¤л¤г饬㠧­ зҐ­Ёо зЁб« , г¬­®¦ Ґ¬®¬г ­  10,
Ё бзҐвзЁЄ жЁда 㢥«ЁзЁў Ґвбп ­  1. Џ®б«Ґ¤­Ё© ЁбЇ®«м§гҐвбп ¤«п д®а¬Ёа®-
ў ­Ёп Ё§ Ї®«г祭­®Ј® зЁб«  Float ¤а®Ў­®© з бвЁ, Ґб«Ё а §ЎЁа Ґ¬®Ґ зЁб«®
ᮤҐа¦Ёв ¤ҐбпвЁз­го в®зЄг.
‚ ЇаЁўҐ¤Ґ­­®¬ ўлиҐ ЇаЁ¬ҐаҐ ў ᥬ ­вЁЄҐ ЁбЇ®«м§®ў «Ёбм в®«мЄ® Ё­-
д®а¬ жЁп ® вҐа¬Ё­ «м­ле бЁ¬ў®« е Ја ¬¬ вЁЄЁ. ‚ н⮬ б«гз Ґ ­Ґў®§¬®¦­®
ЁбЇ®«м§®ў вм Ў®«ҐҐ Є®¬Ї Єв­лҐ ў аЁ ­вл ¬Ґв п§лЄ  ¤«п § ЇЁбЁ вҐа¬Ё­ «м-
­ле бЁ¬ў®«®ў. Ѓ®«ҐҐ Є®¬Ї Єв­ п § ЇЁбм ЇаЁўҐ¤Ґ­­®Ј® ўлиҐ ЇаЁ¬Ґа  ¤®бвЁ-
Ј Ґвбп ­ «ЁзЁҐ¬ ў®§¬®¦­®бвЁ ЁбЇ®«м§®ў ­Ёп Ї®б«Ґ¤­Ґ©  ­ «Ё§Ёа㥬®© «ҐЄ-
бҐ¬л Ёб室­®Ј® ⥪бв . „«п нв®Ј® ЁбЇ®«м§гҐвбп гЄ § вҐ«м ­  char (Ї®
㬮«з ­Ёо нв® token), Є®в®ал© гЄ §лў Ґв ­  ­ з «® Ї®б«Ґ¤­Ґ©  ­ «Ё§Ёаг-
Ґ¬®© «ҐЄбҐ¬л. ЏаЁ § ЇЁбЁ ᥬ ­вЁЄЁ ¬®¦­® ЁбЇ®«м§®ў вм б«Ґ¤гойЁҐ Ј«®-
Ў «м­лҐ ®ЎкҐЄвл.
int number_string - ­®¬Ґа Ї®б«Ґ¤­Ґ© ®Ўа Ў влў Ґ¬®© бва®ЄЁ,
char * current_symbol -  ¤аҐб Ї®б«Ґ¤­ҐЈ®  ­ «Ё§Ёа㥬®Ј® бЁ¬ў®« ,
char * token - Ї®б«Ґ¤­пп ®Ўа Ў влў Ґ¬ п «ҐЄбҐ¬ .

- 23 -

€¬Ґ­  нвЁе ®ЎкҐЄв®ў ¬®¦­® Ё§¬Ґ­Ёвм ЇаЁ ЈҐ­Ґа жЁЁ, Їг⥬ Ё§¬Ґ­Ґ­Ёп д ©-
«  Є®­дЁЈга жЁЁ. ’ҐЄбв ЇаЁ¬Ґа  ­  ¬Ґв п§лЄҐ б®Єа вЁвбп, Ґб«Ё ЁбЇ®«м§®-
ў вм Ј«®Ў «м­л© ®ЎкҐЄв token.
/* --------------------------------------------------------*/

<¤ҐбпвЁз­®Ґ зЁб«®> /*Їа®Ја ¬¬  а §Ў®а  ¤ҐбпвЁз­®Ј® зЁб« */
::= {09}
#{ Decimal = 0;
for ( i = 0; token[i] != '\0'; i++;)
{ Decimal *= 10;
Decimal += (*(token+i)) - 48;
};
}#
( .{09}
#{ for( i = 0; token[i] != '\0';i++;)
{ Decimal *= 10;
Decimal += (*(token+i)) - 48;
};
}#
';'
#{ for (j=1; j <= i; j++;)
Decimal /= 10;
}#
| ';'
)
/* -------------------------------------------------------- */
…б«Ё ЁбЇ®«м§®ў вм бв ­¤ ав­лҐ дг­ЄжЁЁ а Ў®вл б® бва®Є ¬Ё Їа®Ја ¬-
¬  ­  ¬Ґв п§лЄҐ Ґйс Ў®«ҐҐ б®Єа вЁвбп. Џ®­ ¤®ЎЁвбп ҐйҐ ®¤­  ЇҐаҐ¬Ґ­­ п
char str[80];
/* --------------------------------------------------------*/


- 24 -

<¤ҐбпвЁз­®Ґ зЁб«®> /*Їа®Ја ¬¬  а §Ў®а  ¤ҐбпвЁз­®Ј® зЁб« */
::= {09}
#{ strcpy(str,token); }#
( .{09}
#{strcat(str,token);}#
';'
| ';'
)
#{ Decimal = atof(str);}#
/* -------------------------------------------------------- */

‚ б«Ґ¤гойЁе ўҐабЁпе ЇаҐ¤гᬮв७  Ґйс Ў®«ҐҐ Є®¬Ї Єв­ п § ЇЁбм бҐ-
¬ ­вЁЄЁ. ЏаЁўҐ¤Ґ¬ Їа®Ја ¬¬г ­  ¬Ґв п§лЄҐ ЎҐ§ Ґс ®Ўб㦤Ґ­Ёп.
/* --------------------------------------------------------*/
<¤ҐбпвЁз­®Ґ зЁб«®> /*Їа®Ја ¬¬  а §Ў®а  ¤ҐбпвЁз­®Ј® зЁб« */
::= <String_decimal>;
#{ Decimal = atof(String_decimal);}#
char * <String_decimal>
::= {09} (.{09} | * )
/* -------------------------------------------------------- */
Ё«Ё
/* -------------------------------------------------------- */
char * <String_decimal>
::= {09} (.{09} | * )
#{ Decimal = atof(String_decimal);}#
/* -------------------------------------------------------- */
Ё«Ё
/* --------------------------------------------------------*/
/*Їа®Ја ¬¬  а §Ў®а  ¤ҐбпвЁз­®Ј® зЁб« */
float <Decimal> ::= {09} (.{09} | * )
/* -------------------------------------------------------- */
.
- 25 -


3. Џђ€Њ…ђ ЏђЋѓђЂЊЊ› ђЂ‡ЃЋђЂ

ЏаЁ¬Ґ­Ґ­ЁҐ ¬Ґв п§лЄ  Ё ЈҐ­Ґа в®а  п§лЄ®ўле Їа®жҐбб®а®ў Їа®Ё««обв-
аЁа㥬 ­  ЇаЁ¬ҐаҐ а §а Ў®вЄЁ Їа®Ја ¬¬л, ¬®¤Ґ«Ёаго饩 а Ў®вг Є «мЄг«п-
в®а  б Ї ¬пвмо. ќв  Їа®Ја ¬¬  ЇаҐ¤бв ў«пҐв б®Ў®© Їа®бв®© п§лЄ®ўл© Їа®-
жҐбб®а, ®бгйҐбвў«пойЁ© бЁ­в ЄбЁзҐбЄЁ©  ­ «Ё§ Ё а бзҐв ®Ўлз­ле  аЁд¬Ґ-
вЁзҐбЄЁе ўла ¦Ґ­Ё©.
Џа®Ја ¬¬г Ўг¤Ґ¬ ®ЇЁблў вм ­  ¬Ґв п§лЄҐ Ї® ЈагЇЇ ¬ Їа®¤гЄжЁ© б Ї®-
пб­Ґ­ЁҐ¬ Є ¦¤®© ЈагЇЇл.
<FULL_EXPR> /* ­ з «м­л© бЁ¬ў®« Ја ¬¬ вЁЄЁ*/
::= *
#{ i = 1;}#
<EXPR>
#{ MEMORY = Expression[i];
cout << Expression[i];
}#
||= <FULL_EXPR> ','
#{i = 1;}#
<EXPR>
#{ MEMORY = Expression[i];
cout << Expression[i];
}#
€б室­®Ґ ЇаҐ¤«®¦Ґ­ЁҐ ЇаҐ¤бв ў«пҐв б®Ў®© ўла ¦Ґ­Ёп, ЇҐаҐзЁб«Ґ­­лҐ
зҐаҐ§ § Їпвго. „«п Їа®¬Ґ¦гв®з­ле ўлзЁб«Ґ­Ё© ЁбЇ®«м§гҐвбп ¬ ббЁў Exp-
ression б Ё­¤ҐЄб®¬ i. Ќ з «м­®Ґ §­ зҐ­ЁҐ Ё­¤ҐЄб  - 1. „«п ўў®¤  ­ -
з «м­®Ј® §­ зҐ­Ёп ў б ¬®¬ ­ з «Ґ ўлзЁб«Ґ­Ё© ­ ¬ ­Ёзв® ­Ґ ¬Ґи Ґв ўўҐбвЁ
ў Ја ¬¬ вЁЄг Їгбв®© бЁ¬ў®« *. ђҐ§г«мв в ўлзЁб«Ґ­Ё© ў Є®­Ґз­®¬ Ёв®ЈҐ
­ е®¤Ёвбп ў ЇҐаў®¬ н«Ґ¬Ґ­вҐ ¬ ббЁў  Expression[1]. Џ® ®Є®­з ­ЁЁ ўлзЁб-
«Ґ­Ёп ®¤­®Ј® ўла ¦Ґ­Ёп १г«мв в § ­®бЁвбп ў Ї ¬пвм MEMORY.
<EXPR> /* ђ бзҐв ўла ¦Ґ­Ёп */

- 26 -

::= <SU>
#{ Expression[i] = Summand[i];}#
||= <EXPR> ( '+' <SU>
#{ Expression[i] += Summand[i];}#
| '-' <SU>
#{ Expression[i] -= Summand[i];}#
)
‚ла ¦Ґ­ЁҐ ¬®¦­® ЇаҐ¤бв ўЁвм ў ўЁ¤Ґ ®¤­®Ј® б« Ј Ґ¬®Ј® Ё«Ё ­ Ў®а 
б« Ј Ґ¬ле, ᮥ¤Ё­Ґ­­ле §­ Є®¬ Ї«об Ё«Ё ¬Ё­гб. Џ® ®Є®­з ­ЁЁ ўлзЁб«Ґ­Ё©
ўла ¦Ґ­Ёп १г«мв в ­ е®¤Ёвбп ў н«Ґ¬Ґ­вҐ б⥪  Expression[i],   аҐ-
§г«мв в ўлзЁб«Ґ­Ё© ЇаЁ а §Ў®аҐ б« Ј Ґ¬®Ј® ў Summand[i].
<SU> /* ђ бзҐв §­ зҐ­Ёп б« Ј Ґ¬®Ј® */
::= <MU>
#{ Summand[i] = Multiplier;}#
||= <SU> ( '*' <MU>
#{ Summand[i] *= Multiplier;}#
| '/' <MU>
#{ Summand[i] /= Multiplier;}#
)
Љ Є ўЁ¤­® Ё§ Ја ¬¬ вЁЄЁ, б« Ј Ґ¬®Ґ ЇаҐ¤бв ў«пҐвбп ®¤­Ё¬ ¬­®¦ЁвҐ-
«Ґ¬ Ё«Ё ­ҐбЄ®«мЄЁ¬Ё, ᮥ¤Ё­Ґ­­л¬Ё §­ Є ¬Ё г¬­®¦Ґ­Ёп Ё ¤Ґ«Ґ­Ёп. ђҐ§г«м-
в в ўлзЁб«Ґ­Ёп б« Ј Ґ¬®Ј®, Є Є Ўл«® ®в¬ҐзҐ­® Ё а ­миҐ, § ­®бЁвбп ў
Summand[i]. ‡­ зҐ­ЁҐ ¬­®¦ЁвҐ«п ­ е®¤Ёвбп ў ЇҐаҐ¬Ґ­­®© Multiplier.
.
- 27 -

<MU> /* ђ §Ў®а Ё ўлзЁб«Ґ­ЁҐ ¬­®¦ЁвҐ«п */
::= <DEC>
#{ Multiplier = Decimal; }#
||= 'M'
#{ Multiplier = MEMORY;}#
||= '('
#{ i++;}#
<EXPR>
')'
#{ Multiplier = Expression[i];
i--;
}#
‚ Є зҐб⢥ ¬­®¦ЁвҐ«п ¬®¦Ґв ўлбвгЇ вм ¤ҐбпвЁз­®Ґ зЁб«®, §­ зҐ­ЁҐ
ЇаҐ¤л¤г饣® ўла ¦Ґ­Ёп, ­ е®¤п饥бп ў Ї ¬пвЁ MEMORY, Ё ўла ¦Ґ­ЁҐ ў
бЄ®ЎЄ е. ђҐ§г«мв в®¬ а §Ў®а  ¬­®¦ЁвҐ«п пў«пҐвбп §­ зҐ­ЁҐ, § ЇЁблў Ґ¬®Ґ
ў ЇҐаҐ¬Ґ­­го Multiplier.
„ҐбпвЁз­®Ґ зЁб«® ўлзЁб«пҐвбп ЎҐ§ гзҐв  ¤ҐбпвЁз­®© в®зЄЁ ЇаЁ а §-
Ў®аҐ ЈагЇЇл Їа®¤гЄжЁ© Ї®¤ Ё¬Ґ­Ґ¬ DEC Ё § ЇЁблў Ґвбп ў ЇҐаҐ¬Ґ­­го Deci-
mal. ‚ ¤ ­­®¬ да Ј¬Ґ­вҐ зЁб«® ЇаЁў®¤Ёвбп ў ᮮ⢥вбвўЁҐ б ­ «ЁзЁҐ¬
¤а®Ў­®© з бвЁ.
ЏаЁ ўлзЁб«Ґ­ЁЁ ўла ¦Ґ­Ёп ў бЄ®ЎЄ е 㢥«ЁзЁў Ґвбп Ё­¤ҐЄб ¬ ббЁў 
Ї®б«Ґ Ї®пў«Ґ­Ёп ®вЄалў о饩 бЄ®ЎЄЁ, Ї®бЄ®«мЄг ­ зЁ­ Ґвбп ўлзЁб«Ґ­ЁҐ
­®ў®Ј® ўла ¦Ґ­Ёп (Є®в®а®Ґ ў бЄ®ЎЄ е), ­® ў ¤ «м­Ґ©иҐ¬ ¬®¦Ґв Ї®­ ¤®-
ЎЁвмбп Ё १г«мв в ЇаҐ¤л¤гйЁе ўлзЁб«Ґ­Ё©. ‡­ зҐ­ЁҐ ўла ¦Ґ­Ёп ў бЄ®ЎЄ е
Ї® ®Є®­з ­ЁЁ ҐЈ® а бзҐв  пў«пҐвбп ¬­®¦ЁвҐ«Ґ¬ Ё Ї®н⮬㠧 ­®бЁвбп ў ЇҐ-
६Ґ­­го Multiplier. „ «ҐҐ 㬥­ми Ґвбп Ё­¤ҐЄб ¬ ббЁў  Ё ®вЄалў Ґвбп
¤®бвгЇ Є ўлзЁб«Ґ­­®¬г а ­ҐҐ ⥪г饬㠧­ зҐ­Ёо ўла ¦Ґ­Ёп.

<DEC> /*Їа®Ја ¬¬  а §Ў®а  ¤ҐбпвЁз­®Ј® зЁб« */
::= {09}
#{ strcpy(str,token);}#

- 28 -

( .{09}
#{ strcat(str,token);}#
| *
)
#{ Decimal = atof(str);}#

ЋЇЁб ­Ёп ЇҐаҐ¬Ґ­­ле Ї®¬Ґй овбп ў ®в¤Ґ«м­®¬ ¬®¤г«Ґ. ЏаЁўҐ¤Ґ­­ п
Їа®Ја ¬¬  б Ї®¬®ймо ЈҐ­Ґа в®а  п§лЄ®ўле Їа®жҐбб®а®ў ЇҐаҐў®¤Ёвбп ­ 
п§лЄ ‘€ Ё б®еа ­пҐвбп ў ўЁ¤Ґ ®в¤Ґ«м­®Ј® ¬®¤г«п. ‘ЈҐ­ҐаЁа®ў ­­лҐ ¬®¤г«Ё
Ё ¬®¤г«м ®ЇЁб ­Ё© ®Ўа Ў влў овбп ва ­б«пв®а®¬. Ќ  нв ЇҐ Є®¬Ї®­®ўЄЁ
Ї®¤Є«оз Ґвбп бв ­¤ ав­л© ®ЎкҐЄв­л© ¬®¤г«м Ё ­  ўл室Ґ Ї®«гз Ґвбп Ј®в®-
ў п Їа®Ја ¬¬  а бзҐв  ўла ¦Ґ­Ё©. ‚бп Ї®б«Ґ¤®ў вҐ«м­®бвм ¤Ґ©бвўЁ© Ї®
ЈҐ­Ґа жЁЁ Їа®Ё§ў®¤Ёвбп  ўв®¬ вЁзҐбЄЁ ¤® Ї®«г祭Ёп § Ја㧮筮Ј® ¬®¤г«п
ва ­б«пв®а . ѓҐ­Ґа в®а § Їа иЁў Ґв «Ёим Ё¬п ­ з «м­®Ј® бЁ¬ў®«  Ја ¬¬ -
вЁЄЁ Ё Ё¬п ¬®¤г«п ®ЇЁб ­Ё© ЇҐаҐ¬Ґ­­ле. ЏаЁ¬Ґа®¬ ўла ¦Ґ­Ёп ¬®¦Ґв б«г-
¦Ёвм б«Ґ¤гой п бва®Є 
3.23*5.62*(23.5+56.59-156.456)-1568.2+2.2458*(26.54+0.0015)+
12.5*0.25-1
.
- 29 -


4. Ћ„ЌЋ‡ЌЂ—ЌЋ‘’њ ѓђЂЊЊЂ’€Љ€

я14.1. ‚лў®¤ Ёб室­®Ј® ЇаҐ¤«®¦Ґ­Ёп

ЋЇаҐ¤Ґ«Ґ­­ п ¬Ґв п§лЄ®¬ Ја ¬¬ вЁЄ  ४габЁў­л¬ ®Ўа §®¬ ®ЇаҐ¤Ґ«пҐв
Ї®а®¦¤ Ґ¬л© п§лЄ, Є®в®ал© б®¤Ґа¦Ёв ¬­®¦Ґбвў® ўлў®¤Ё¬ле Ё§ ­ з «м­®Ј®
­ҐвҐа¬Ё­ «м­®Ј® бЁ¬ў®«  бва®Є. ЋЇаҐ¤Ґ«Ё¬ д®а¬ «м­® ўлў®¤Ё¬го бва®Єг.
‘ва®Є  <x><w><y> ­ §лў Ґвбп ўлў®¤Ё¬®© бва®Є®© Ја ¬¬ вЁЄЁ , Ґб«Ё
<v> ::= <w> ( Ё«Ё <v> ||= <W>) Їа®¤гЄжЁп ®ЇЁб ­Ёп ­  ¬Ґв п§лЄҐ Ё
<x><v><y> бва®Є  вҐа¬Ё­ «м­ле Ё ­ҐвҐа¬Ё­ «м­ле бЁ¬ў®«®ў ¤«Ё­®© > 1,
ЇаЁ­ ¤«Ґ¦ й п п§лЄг, Ї®а®¦¤ Ґ¬®¬г Ја ¬¬ вЁЄ®©. ‚лў®¤Ё¬ п бва®Є  Ї®«г-
з Ґвбп Їг⥬ § ¬Ґ­л бва®ЄЁ <v> ­  бва®Єг <w> ў бва®ЄҐ <x><v><y>. ’ Є®Ґ
ЇаҐ®Ўа §®ў ­ЁҐ бва®ЄЁ § ЇЁблў ов ў ўЁ¤Ґ
<x><v><y> => <x><w><y>
Ћв­®иҐ­ЁҐ =*> § ¤ Ґвбп Є Є <x1> =*> <xN>, Ґб«Ё бгйҐбвўгҐв Ї®б«Ґ-
¤®ў вҐ«м­®бвм <x1>,<x2>,..., <xN>, в Є п зв® <x1> => <x2> => <x3>
=>...=> <xN>. ‚ н⮬ б«гз Ґ Ј®ў®апв, зв® бва®Є  <xN> ўлў®¤Ёвбп Ё§
бва®ЄЁ <x1> §  ®¤Ё­ Ё Ў®«ҐҐ и Ј®ў.
…б«Ё бва®Є  <x> пў«пҐвбп ўлў®¤Ё¬®© Ё§ ­ з «м­®Ј® бЁ¬ў®«  бва®Є®©
(<S> => <x>), в® ҐҐ ­ §лў ов ᥭ⥭樠«м­®© д®а¬®©. ЌҐ ᮤҐа¦ й п ­Ґ-
вҐа¬Ё­ «м­ле бЁ¬ў®«®ў ᥭ⥭樠«м­ п д®а¬  ­ §лў Ґвбп ЇаҐ¤«®¦Ґ­ЁҐ¬
(Ё«Ё ᥭ⥭樥©). Њ­®¦Ґбвў® ўбҐе ЇаҐ¤«®¦Ґ­Ё© Ја ¬¬ вЁЄЁ ­ §лў ов п§л-
Є®¬, Ї®а®¦¤ Ґ¬л¬ нв®© Ја ¬¬ вЁЄ®©.
ђ бᬮваЁ¬ ЇаЁ¬Ґал ЇаҐ¤«®¦Ґ­Ё© ­ҐбЄ®«мЄЁе п§лЄ®ў. „«п ЇаЁўҐ¤Ґ­­®©
ўлиҐ Ја ¬¬ вЁЄЁ (а §¤Ґ« 1.), б ­ з «м­л¬ бЁ¬ў®«®¬ <楫®Ґ> ў п§лЄ ўЄ«о-
祭л б«Ґ¤гойЁҐ ЇаҐ¤«®¦Ґ­Ёп, ЇаҐ¤бв ў«пойЁҐ б®Ў®© ¤ҐбпвЁз­лҐ зЁб« .
2 ўлў®¤ <楫®Ґ> => <жЁда > => 2
23 ўлў®¤ <楫®Ґ> => <楫®Ґ><жЁда > ( Їа ўЁ«®
<楫®Ґ> ||= <楫®Ґ><жЁда >)
=> <жЁда ><жЁда > (Їа ўЁ«® <楫®Ґ> ::= <жЁда >)

- 30 -

=> 2<жЁда > (Їа ўЁ«® <жЁда > ||= 2 )
=> 23 (Їа ўЁ«® <жЁда > ||= 3 )
…б«Ё Ја ¬¬ вЁЄг § ¤ вм ў ўЁ¤Ґ
<楫®Ґ> ::= string{09}
в® бва®ЄЁ - жҐ«лҐ зЁб«  ўлў®¤пвбп §  ®¤Ё­ и Ј.
3454 ўлў®¤ <楫®Ґ> => 3454
‘ Ї®¬®ймо ¬Ґв п§лЄ  ¬л ®ЇаҐ¤Ґ«Ё«Ё п§лЄ. Ћ¤­ Є® ­ ¬ ­Ґ®Ўе®¤Ё¬® ®в-
ўҐвЁвм ­  ў®Їа®б ЇаЁ­ ¤«Ґ¦Ёв Ёб室­®Ґ ЇаҐ¤«®¦Ґ­ЁҐ н⮬г п§лЄг Ё«Ё ­Ґв.
€бЇ®«м§гҐ¬л© ЈҐ­Ґа в®а®¬ ¬Ґв®¤ а §Ў®а  Ўг¤Ґв Їа ўЁ«м­® а Ў®в вм, Ґб«Ё
¤«п Є ¦¤®Ј® Ёб室­®Ј® ЇаҐ¤«®¦Ґ­Ёп бгйҐбвўгҐв в®«мЄ® ®¤Ё­ ўлў®¤. ЌҐ ­ -
аги п ®Ўй­®бвЁ гЇ®а冷稬 Їа®жҐбб ўлў®¤  ЇаҐ¤«®¦Ґ­Ёп.
ЏаЁ а §Ў®аҐ Ўг¤Ґ¬ ЁбЇ®«м§®ў вм в®«мЄ® «Ґў®бв®а®­­Ё© ўлў®¤. ќв®
в Є®© ўлў®¤, Є®Ј¤  ­  Є ¦¤®¬ и ЈҐ ўлў®¤  § ¬Ґ­пҐвбп б ¬л© «Ґўл© Ё§ ­Ґ-
вҐа¬Ё­ «м­ле бЁ¬ў®«®ў. ЏаЁзҐ¬ ў аЁ ­вл ¤«п § ¬Ґ­л Ўг¤Ґ¬ ўлЎЁа вм ў Ї®-
ап¤ЄҐ Ёе ®ЇЁб ­Ёп ­  ¬Ґв п§лЄҐ б«Ґў -­ Їа ў® ᢥаег-ў­Ё§. ЏаЁ¤Ґа¦Ёў -
пбм гЄ § ­­®Ј® Ї®ап¤Є  ўлЇ®«­пҐвбп ЇҐаў п Ї®¤е®¤пй п § ¬Ґ­  «Ґў®Ј® ­Ґ-
вҐа¬Ё­ «м­®Ј® бЁ¬ў®« , Є®в®а п ўҐ¤Ґв Є ўлў®¤г ¤ ­­®Ј® Ёб室­®Ј® ЇаҐ¤-
«®¦Ґ­Ёп.

я14.2. ЏаҐ®Ўа §®ў ­ЁҐ Ја ¬¬ вЁЄЁ

„«п ®ЎҐбЇҐзҐ­Ёп ®¤­®§­ з­®Ј® ўлў®¤  ­Ґ®Ўе®¤Ё¬® ¤«п Є ¦¤®Ј® ­ҐвҐа-
¬Ё­ «м­®Ј® бЁ¬ў®«  ЇаҐ®Ўа §®ў вм ўбҐ ҐЈ® Їа®¤гЄжЁЁ в ЄЁ¬ ®Ўа §®¬, зв®-
Ўл ЇҐаўлҐ бЁ¬ў®«л Є ¦¤®©  «мвҐа­ вЁўл Ўл«Ё г­ЁЄ «м­л¬Ё. ‚ 室Ґ ЇаҐ®Ў-
а §®ў ­Ёп ¤®ЇгбЄ Ґвбп ў¬Ґбв® ­ҐвҐа¬Ё­ «м­ле бЁ¬ў®«®ў Ї®¤бв ў«пвм Ёе
ЇаҐ¤бв ў«Ґ­Ёп, ўл­®бЁвм ®Ўйго з бвм §  ЄагЈ«лҐ бЄ®ЎЄЁ Ё«Ё ўў®¤Ёвм ­®-
ўлҐ ­ҐвҐа¬Ё­ «м­лҐ бЁ¬ў®«л. ђ бᬮваЁ¬ Ја ¬¬ вЁЄг ®¤­®Ј® Ё§ ЇаЁўҐ¤Ґ­-
­ле ўлиҐ ЇаЁ¬Ґа®ў.
<E> ::= <E> + <T>
||= <E> - <T>
||= <T>

- 31 -

<T> ::= string{09}
ЏҐаўлҐ ¤ўҐ  «мвҐа­ вЁўл ¤«п ­ҐвҐа¬Ё­ «  <E> ­ зЁ­ овбп б ®¤­®Ј® Ё
в®Ј® ¦Ґ ­ҐвҐа¬Ё­ «м­®Ј® бЁ¬ў®«  <E>. Џ®н⮬㠯ਠўлў®¤Ґ ­ҐЇ®­пв­®, Є -
Єго Ё§  «мвҐа­ вЁў ­Ґ®Ўе®¤Ё¬® ўлЎа вм, Ґб«Ё агЄ®ў®¤бвў®ў вмбп в®«мЄ®
­ з «м­л¬Ё бЁ¬ў®« ¬Ё. ’® Ґбвм ЇаЁ ўлў®¤Ґ ЇаҐ¤«®¦Ґ­Ёп 45 - 56 Ї® ЇҐаўл¬
жЁда ¬ 45 ­Ґў®§¬®¦­® ®ЇаҐ¤Ґ«Ёвм Є Єго  «мвҐа­ вЁўг ўлЎа вм. Џ®н⮬г
Ја ¬¬ вЁЄг ­г¦­® ЇаҐ®Ўа §®ў вм. ‚ўҐ¤Ґ¬ ­®ўл© ­ҐвҐа¬Ё­ « <D> ¤«п ®Ў®§-
­ зҐ­Ёп а §«Ёз ойЁебп з б⥩ ЇҐаўле ¤ўге  «мвҐа­ вЁў.
<D> ::= + <T>
||= - <T>
’®Ј¤  Їа ўЁ«  ¤«п ­ҐвҐа¬Ё­ «  <E> ЇаЁ¬гв б«Ґ¤гойЁ© ўЁ¤
<E> ::= <E><D>
||= <T>
Ћв¬ҐвЁ¬, зв® ЁбЇ®«м§гҐ¬л© ¬Ґв®¤ а §Ў®а  ¤®ЇгбЄ Ґв Їап¬го «Ґўго
४габЁо. ЏаЁ а §Ў®аҐ нв  нвЁ ¤ў  Їа ўЁ«   ўв®¬ вЁзҐбЄЁ Ўг¤гв а бб¬ в-
аЁў вмбп Є Є <E> ::= <T> <* <D> *>_. Џ®нв®¬г Ёе ¤ «м­Ґ©иҐҐ ЇаҐ®Ўа §®-
ў ­ЁҐ ¬®¦­® ®ЇгбвЁвм.
‚лў®¤ бва®ЄЁ 44 - 56 Ўг¤Ґв б«Ґ¤гойЁ¬
<E> => <T><*<D>*>_ => string{09}<*<D>*>_ => 45<*<D>*>_
=> 45<D><*<D>*>_ => 45-<T><*<D>*>_ => 45-string{09}<*<D>*>
=> 45-56<*<D>*>_ => 45-56
‚¬Ґбв® ўўҐ¤Ґ­Ёп ­®ў®Ј® ­ҐвҐа¬Ё­ «  ¬®¦­® ЁбЇ®«м§®ў вм ЄагЈ«лҐ
бЄ®ЎЄЁ.

<E> ::= <E> ( + <T> | - <T>)
||= <T>
зв® нЄўЁў «Ґ­в­® <E> ::= <T> <* (+<T> | -<T>) *>_.
‚лў®¤ в®© ¦Ґ бва®ЄЁ Ўг¤Ґв ў н⮬ б«гз Ґ в ЄЁ¬
<E> => <T><*(+<T>|-<T>)*>_ => string{09}<*(+<T>|-<T>)*>_
=> 45<*(+<T>|-<T>)*>_ => 45(+<T>|-<T>)<*(+<T>|-<T>)*>_
=> 45-<T><*(+<T>|-<T>)*>_ => 45-string{09}<*(+<T>|-<T>)*>_

- 32 -

=> 45-56<*(+<T>|-<T>)*>_ => 45-56
ЉагЈ«лҐ бЄ®ЎЄЁ ЇаЁ ўлў®¤Ґ § ¬Ґ­повбп ­  ®¤­г Ё§  «мвҐа­ вЁў, § -
ЇЁб ­­ле ў ­Ёе. ‚ § Є«о祭ЁЁ ¤ ­­®Ј® Ї а Ја д  ®в¬ҐвЁ¬, зв® Їа ўЁ« 
­ зЁ­ ойЁҐбп б ®¤Ё­ Є®ў®Ј® бЁ¬ў®«  «Ґў®© ४габЁЁ, ­Ґ ®Ўп§ вҐ«м­®
ЈагЇЇЁа®ў вм.
<E> ::= <E> + <T>
||= <E> - <T>
||= <T>
 ўв®¬ вЁзҐбЄЁ § ¬Ґ­пвбп ­ 
<E> ::= <T> <* (+<T> | -<T>) *>_
Ћ¤­ Є®, Ґб«Ё б®ўЇ ¤ ойЁҐ ­ з «м­лҐ бЁ¬ў®«л ­Ґ ®Ўа §гов Їап¬го «Ґўго
४габЁо, ­Ґ®Ўе®¤Ё¬® ўлЇ®«­пвм ®ЇЁб ­­лҐ ўлиҐ ЇаҐ®Ўа §®ў ­Ёп.
‹Ґўл© ४габЁў­л© жЁЄ« ­Ґ®Ўе®¤Ё¬® ўбҐЈ¤  бў®¤Ёвм Є Їаאַ© «Ґў®©
४габЁЁ. Ќ ЇаЁ¬Ґа, Ґб«Ё
<E> ::= <B>x
<B> ::= <E>y
в® ­Ґ®Ўе®¤Ё¬® ЇаҐ®Ўа §®ў вм ў
<E> ::= <E>yx

я14.3. ЏаЁ¬Ґал ЇаҐ®Ўа §®ў ­Ёп Ја ¬¬ вЁЄ ­  ¬Ґв п§лЄҐ

ЏаЁ¬Ґа 4.3.1. ђ бᬮваЁ¬ Ја ¬¬ вЁЄг
<A> ::= a<A>y
||= a'b'<A>x
‚뭥ᥬ §  бЄ®ЎЄЁ вҐа¬Ё­ «м­л© бЁ¬ў®« a. Џ®«гзЁ¬
<A> ::= a (<A>y | 'b'<A>x)
„ўҐ  «мвҐа­ вЁўл ў бЄ®ЎЄ  ­ зЁ­ овбп б а §«Ёз­ле вҐа¬Ё­ «м­ле
бЁ¬ў®«®ў a Ё b.

ЏаЁ¬Ґа 4.3.2. ђ бᬮваЁ¬ Ја ¬¬ вЁЄг
<A> ::= a<A>y

- 33 -

||= a'b'<A>x
||= a
Џ®бвгЇ Ґ¬  ­ «®ЈЁз­® ЇаҐ¤л¤г饬㠯ਬҐаг.
<A> ::= a (<A>y | 'b'<A>x | *)
Ќ Ї®¬­Ё¬, зв® * ®Ў®§­ з Ґв Їгбв®© бЁ¬ў®« (®вбгвбвўЁҐ бЁ¬ў®« ).

ЏаЁ¬Ґа 4.3.3. ђ бᬮваЁ¬ Ја ¬¬ вЁЄг
<A> ::= a<A>y
||= a'b'z<A>x
||= <A>b<A>y
||= a
‚ᥠ «мвҐа­ вЁўл ¬®Јгв ­ зЁ­ овбп б бЁ¬ў®«  a. Џ®¤бв ўЁ¬ ў ваҐвмо
 «мвҐа­ вЁўг ў¬Ґбв® <A> зҐвўҐавго Їа®¤гЄжЁо Ё ўўҐ¤Ґ¬ Ґс ў Є зҐб⢥ ¤®-
Ї®«­ЁвҐ«м­®©  «мвҐа­ вЁўл ­  ¬Ґбв® ваҐв쥩. Џ®¤бв ў«пҐ¬ Ё¬Ґ­­® зҐвўҐа-
вго Їа®¤гЄжЁо, Ї®бЄ®«мЄг §  бЁ¬ў®«®¬ <A> ў ваҐв쥩 Їа®¤гЄжЁЁ б«Ґ¤гҐв
b. ’ Є п Ї®¤бв ­®ўЄ  ўлпў«пҐв ­Ґ®¤­®§­ з­®бвм ¬Ґ¦¤г ўв®а®© Ё ваҐв쥩
Ёб室­®© Їа®¤гЄжЁп¬Ё (®­Ё ­ зЁ­ овбп б бЁ¬ў®«®ў 'a''b').
<A> ::= a<A>y // 1 -  «мвҐа­ вЁў 
||= a'b'z<A>x // 2
||= 'a'b<A>y // 3
||= <A>b<A>y // 4
||= a // 5
„ ­­®© Ї®¤бв ­®ўЄ®© ¬л ­Ґ Ё§¬Ґ­Ё«Ё п§лЄ. ’аҐвмп  «мвҐа­ вЁў  ¤гЎ-
«ЁагҐвбп ў зҐвўҐав®©. Ћ¤­ Є® ЇаЁ ўлў®¤Ґ Ё§ зҐвўҐав®©  «мвҐа­ вЁўл ­Ё-
Є®Ј¤  ­Ґ Ўг¤Ґв Ї®«г祭  ваҐвмп, Ї®бЄ®«мЄг ўлЎ®а  «мвҐа­ вЁў Їа®Ё§ў®-
¤Ёвбп ᢥаег ў­Ё§. „ «ҐҐ ўлЇ®«­Ё¬ 㦥 Ё§ўҐбв­®Ґ ЇаҐ®Ўа §®ў ­ЁҐ.
<A> ::= a (<A>y | 'b'z<A>x | b<A>y | * ) | <A>b<A>y
‚ бЄ®ЎЄ е Ї®«гзЁ«Ё  «мвҐа­ вЁўл, ­ зЁ­ ойЁҐбп б ®¤­®Ј® Ё в®Ј® ¦Ґ
бЁ¬ў®« . Џа®¤®«¦Ё¬ ЇаҐ®Ўа §®ў ­Ёп Ё Ї®«гзЁ¬.
<A> ::= a (<A>y | 'b'(z<A>x | <A>y) | * ) | <A>b<A>y
ЌҐ®Ўе®¤Ё¬® бва®Ј® б®Ў«о¤ вм, зв®Ўл зҐвўҐав п  «мвҐа­ вЁў  Ўл« 

- 34 -

Ї®б«Ґ ваҐв쥩. ЋЄ®­з вҐ«м­® Ї®«гзЁ¬ Ја ¬¬ вЁЄг.
ђ бᬮваЁ¬ ҐйҐ ®¤Ё­ ў аЁ ­в ЇаҐ®Ўа §®ў ­Ёп ¤ ­­®© Ја ¬¬ вЁЄЁ.
<A> ::= a<A>y
||= a'b'z<A>x
||= <A>b<A>y
||= a
‹Ґў®аҐЄгабЁў­л© жЁЄ«  ўв®¬ вЁзҐбЄЁ ЇаЁў®¤Ёвбп Є ўЁ¤г
<A> ::= (a<A>y | a'b'z<A>x |  ) <* b<A>y *>_
Ё«Ё
<A> ::= a(<A>y | 'b'z<A>x | *) <* b<A>y *>_
‚Ё¤­®, зв® ЇаЁ Є®­Є вҐ­ жЁЁ Їгбв®Ј® бЁ¬ў®«  * Ё б® бва®Є®© § 
ЄагЈ«л¬Ё бЄ®ЎЄ ¬Ё, ¬®¦­® Ї®«гзЁвм бва®Єг, ­ зЁ­ ойгобп б бЁ¬ў®«  b. ‚
бЄ®ЎЄ е г ­ б 㦥 Ґбвм  «мвҐа­ вЁў  ­ зЁ­ ой пбп в Є¦Ґ б бЁ¬ў®«  b.
Џ®н⮬㠢믮«­Ё¬ б«Ґ¤гойЁҐ ЇаҐ®Ўа §®ў ­Ёп.
<A> ::= a(<A>y | 'b'z<A>x | * | b<A>y) <* b<A>y *>_
<A> ::= a(<A>y | b (z<A>x | <A>y) | *) <* b<A>y *>_
ЋЎа в­®Ґ ЇаҐ®Ўа §®ў ­ЁҐ Є «Ґў®© ४габЁЁ.
<A> ::= a(<A>y | b (z<A>x | <A>y) | *)
||= <A>b<A>y
<A> ::= a(<A>y | b (z<A>x | <A>y) | * ) | <A>b<A>y

ЏаЁ¬Ґа 4.3.4. ђ бᬮваЁ¬ Ја ¬¬ вЁЄг
<A> ::= x<A>y
||= <P>
||= <Q>
||= x'x'<Z>
<P> ::= x<P>m
||= p
<Q> ::= x<Q>n
||= q
‘в ­¤ ав­®Ґ ЇаҐ®Ўа §®ў ­ЁҐ ЇаЁў®¤Ёв Є ⮬г, зв® ў бЄ®ЎЄ е  «мвҐа-

- 35 -

­ вЁўл ­ зЁ­ овбп б­®ў  б бЁ¬ў®«®ў <P> Ё <Q> Ё в Є ¤® ЎҐбЄ®­Ґз­®бвЁ.
<A> ::= x<A>y ДДї
||= x<P>m і
||= x<Q>n і => <A> ::= x(A>y | <P>m | <Q>n | 'x'<Z>)
||= x'x'<Z> і ||= p
||= p і ||= q
||= q ДДЩ
‚ н⮬ б«гз Ґ Є 楫Ё ЇаЁў®¤Ёв б«Ґ¤гойЁ© Їгвм.
<A> ::= x<A>y ДДї <A> ::= x'x'^_<A>'y'^_y
||= <P> і => ||= x^_<P>m^_
||= <Q> і ||= x^_<Q>n^_
||= x'x'<Z> ДДЩ ||= x'x'<Z>

<A> ::= x'x'^_<A>'y'^_y
||= x'x'^_<P>m^_m
||= x'x'^_<Q>n^_n
||= x'x'<Z>
||= <P>
||= <Q>

<A> ::= x('x'^_<A>'y'^_y | 'x'^_<P>m^_m | 'x'^_<Q>n^_n | 'x'<Z>)
<A> ::= x('x'^_<A>'y'^_y|'x'^_<P>m^_m|'x'^_<Q>n^_n|'x'^1<Z>*^1)
<A> ::= x('x'^_(<A>'y'^_y | <P>m^_m | <Q>n^_n | <Z>*^1))
Џ®бЄ®«мЄг x^ ¬®¦Ґв ЇаҐ¤бв ў«пвм Ё x^1 ў з бв­®¬ б«гз Ґ, Ґс ¬®¦­®
ўл­ҐбвЁ §  бЄ®ЎЄЁ. ‡ ¬Ґ­Ё¬ ў ЇҐаў®©  «мвҐа­ вЁўҐ <A>, Ї®бЄ®«мЄг ®­ 
ᮤҐа¦Ёв ®¤Ё­ Є®ўлҐ бЁ¬ў®«л б <P> Ё <Q>.
<A> ::= x('x'^_('x'^_(<P>m^_'y'^_y |<Q>n^_'y'^_y |<A>'y'^_y |
<P>m^_m^_m | <Q>n^_n^_n) | <Z>*^1))
•®вп ў бЄ®ЎЄ е б­®ў  ®бв «Ёбм <Q> Ё <P> ®­Ё 㦥 ­Ґ ¬®Јгв ­ з вмбп
б бЁ¬ў®«  x, Ї®бЄ®«мЄг ўбҐ бЁ¬ў®«л x ўл­ҐбҐ­л §  бЄ®ЎЄг.
.
- 36 -

<A> ::= x( 'x'^_( 'x'^_( <P>m^_('y'^_y |m^_m) |
<Q>n^_('y'^_y |n^_n) |
<A>'y'^_y
) | <Z>*^1
)
)
ЋЄ®­з вҐ«м­® Ї®«гзЁ¬
<A> ::= x( 'x'^_( ( <P>m^_('y'^_y |m^_m) |
<Q>n^_('y'^_y |n^_n) |
<A>'y'^_y
) | <Z>*^1
)
)
||= <P>
||= <Q>
ЌҐ®Ўе®¤Ё¬® § ¬ҐвЁвм, зв® ЇаЁ ЁбЇ®«м§®ў ­ЁҐ б⥯Ґ­Ґ© ­г¦­® Ёб-
Ї®«м§®ў вм в®«мЄ® ўл­®б §  бЄ®ЎЄЁ. ‚ў®¤Ёвм ­®ўлҐ ­ҐвҐа¬Ё­ «л § ЇаҐйҐ­®
( нв® ®Ја ­ЁзҐ­ЁҐ ­Ґ ¬Ґв п§лЄ ,   ॠ«Ё§ жЁЁ )
ЏҐаҐзЁб«Ё¬ Їа ўЁ« , Є®в®алҐ ЁбЇ®«м§®ў «Ёбм ЇаЁ ЇаҐ®Ўа §®ў ­ЁЁ
Ја ¬¬ вЁЄ.
- Џ®¤бв ­®ўЄ  ў¬Ґбв® ­ҐвҐа¬Ё­ «  ҐЈ® Їа®¤гЄжЁ©.
- ‚л­®б ®ЎйҐ© з бвЁ Їа®¤гЄжЁ© §  ЄагЈ«лҐ бЄ®ЎЄЁ.
- „®Ў ў«Ґ­ЁҐ ­®ў®© Їа®¤гЄжЁЁ, Є®в®а п ¬®¦Ґв Ўлвм Ї®а®¦¤Ґ­  ®¤­®©
Ё§ Ёб室­ле Їа®¤гЄжЁ©, ¤«п ўлпў«Ґ­Ёп Їа®¤гЄжЁ© б ®¤Ё­ Є®ўл¬Ё ­ з «м­л-
¬Ё з бвп¬Ё. Ќ®ў п Їа®¤гЄжЁп Ї®¬Ґй Ґвбп ЇҐаҐ¤ Ї®а®¦¤ о饩 Ґс Їа®¤гЄжЁҐ©.
- ‡ ¬Ґ­  ЈагЇЇл Їа®¤гЄжЁ© ­®ўл¬ ­ҐвҐа¬Ё­ «м­л¬ бЁ¬ў®«®¬.


.
- 37 -


Џђ€‹Ћ†…Ќ€… 1. ‘Ё­в ЄбЁб ¬Ґв п§лЄ , § ЇЁб ­­л© ­  ¬Ґв п§лЄҐ

‚ᥠ⥪бвл ­  ¬Ґв п§лЄҐ ¬®Јгв ᮤҐа¦ вм «оЎ®Ґ зЁб«® Їа®ЎҐ«м­ле
бЁ¬ў®«®ў, Є Є®в®ал¬ ®в­®бЁвбп Ё Є®¬¬Ґ­в аЁ©. Љ нв®© ЈагЇЇҐ бЁ¬ў®«®ў
®в­®бпвбп, б®Ўб⢥­­® бЁ¬ў®«л Їа®ЎҐ«®ў, бЁ¬ў®«л ўҐавЁЄ «м­®© Ё Ј®аЁ-
§®­в «м­®© в Ўг«пжЁЁ, бЁ¬ў®«л ­®ў®© бва®ЄЁ (ЇҐаҐў®¤  бва®ЄЁ Ё ў®§ўа в 
Є аҐвЄЁ) Ё Є®¬¬Ґ­в аЁЁ.

<Їа®ЎҐ«м­лҐ бЁ¬ў®«л> ::= string{\11, /* HT */
\12, /* LF */
\13, /* VT */
\15, /* CR */
\40 /* whitespace */
}
||= <Є®¬¬Ґ­в аЁ©>

Љ®¬¬Ґ­в аЁЁ ЁбЇ®«м§говбп ¤«п Ї®пб­Ґ­Ёп ⥪бв  Їа®Ја ¬¬л. ‘г-
йҐбвўгҐв ¤ў  бЇ®б®Ў  § ¤ ­Ёп Є®¬¬Ґ­в аЁҐў:
<Є®¬¬Ґ­в аЁ©> ::= '/*' <⥪бв Є®¬¬Ґ­в аЁп>_ '*/'
||= '//' <бва®з­л© Є®¬¬Ґ­в аЁ©>_
<⥪бв Є®¬¬Ґ­в аЁп> ::= !string{'/*','*/'}
<бва®з­л© Є®¬¬Ґ­в аЁ©> ::= !string{\12,\15}

„ «м­Ґ©иҐҐ ®ЇЁб ­ЁҐ бва®Ёвбп ў ЇаҐ¤Ї®«®¦Ґ­ЁЁ, зв® Ёб室­л© ⥪бв ­Ґ
Ё¬ҐҐв Їа®ЎҐ«м­ле бЁ¬ў®«®ў. ‚ᥠЇа®ЎҐ«м­лҐ бЁ¬ў®«л Їа®ЇгбЄ овбп ў Ёб-
室­®¬ ⥪б⥠Ё ЁбЇ®«м§говбп ў ўЁ¤Ґ а §¤Ґ«ЁвҐ«Ґ© ­Ґпў­®. џў­® ў Ја ¬-
¬ вЁЄҐ ¬Ґв п§лЄ  ®­Ё ­Ґ ЇаҐ¤бв ў«Ґ­л.

/*------------------------------------------------------------------*/
/* ­ з «м­л© бЁ¬ў®« Ја ¬¬ вЁЄЁ */

- 38 -


<¬Ґв п§лЄ> ::= <­ҐвҐа¬Ё­ «> <* <Їа ўЁ«®> *>

/*------------------------------------------------------------------*/
<­ҐвҐа¬Ё­ «> ::= '<' <­ҐвҐа¬Ё­ «м­л©_бЁ¬ў®«> '>'
/*------------------------------------------------------------------*/
<Їа ўЁ«® > ::= <­ҐвҐа¬Ё­ «>_
'::=' < «мвҐа­ вЁў ><*<б«Ґ¤гой п_ «мвҐа­ вЁў >*>_

/*------------------------------------------------------------------*/

<­ҐвҐа¬Ё­ «м­л©_бЁ¬ў®«>
::= string {az,AZ, п,Ђџ,'_',09}

/*------------------------------------------------------------------*/

<б«Ґ¤гой п_ «мвҐа­ вЁў >
::= '||=' < «мвҐа­ вЁў >
||= '|' < «мвҐа­ вЁў >
/*------------------------------------------------------------------*/

< «мвҐа­ вЁў >
::= <ᥭ⥭жЁп> < «мвҐа­ вЁў _5>_
||= < «мвҐа­ вЁў _5>
||= '*'

< «мвҐа­ вЁў _5>
::= '(' < «мвҐа­ вЁў > <* <б«Ґ¤гой п_ «мвҐа­ вЁў > *>_ ')'
<ᥬ ­вЁЄ >_ <ᥭ⥭жЁп>_

/*------------------------------------------------------------------*/

- 39 -


<ᥭ⥭жЁп>
::= <ᥭ⥭жЁп> (<®Ў®§­ зҐ­ЁҐ_ᥭ⥭樨> |
<вҐа¬Ё­ «>) <ᥬ ­вЁЄ >_ '+'_
||= <®Ў®§­ зҐ­ЁҐ_ᥭ⥭樨> <ᥬ ­вЁЄ >_ '+'_
||= <вҐа¬Ё­ «> <ᥬ ­вЁЄ >_ '+'_

/*------------------------------------------------------------------*/

<ᥬ ­вЁЄ > ::= '#{' < ⥪бв_­ _п§лЄҐ_‘€ > '}#'

< ⥪бв_­ _п§лЄҐ_‘€ >
::= !string{'}#'}

/*------------------------------------------------------------------*/

<®Ў®§­ зҐ­ЁҐ_ᥭ⥭樨>
::= ('<*' <ᥭ⥭жЁп> '*>' string{09}_ |
'<' <­ҐвҐа¬Ё­ «м­л©_бЁ¬ў®«> '>' <б⥯Ґ­м>_
) '_'_
/*------------------------------------------------------------------*/

<вҐа¬Ё­ «> ::= (<*<бЁ¬ў®«_5>*><Їа®ЎҐ«м­лҐ_бЁ¬ў®«л><б⥯Ґ­м>_
| '\'' + <*<бЁ¬ў®«_6>*> '\'' <б⥯Ґ­м>_
| '!' <бЇҐж_вҐа¬Ё­ «>
| '[' <н«Ґ¬Ґ­вл>_']'
| '{' <н«Ґ¬Ґ­вл> '}'
| 'char' '{' <н«Ґ¬Ґ­вл>_ '}'
| 'string' '{' <н«Ґ¬Ґ­вл> '}'
) '_'_
<бЇҐж_вҐа¬Ё­ «>

- 40 -

::= '[' <н«Ґ¬Ґ­вл>_']'
||= '{' <н«Ґ¬Ґ­вл> '}'
||= 'char' '{' <н«Ґ¬Ґ­вл>_ '}'
||= 'string' '{' <н«Ґ¬Ґ­вл> '}'

<Їа®ЎҐ«м­лҐ_бЁ¬ў®«л>
::= char{\11,\12,\15,\40}
||= *
/*------------------------------------------------------------------*/

<б⥯Ґ­м> ::= '^'string{09}_
/*------------------------------------------------------------------*/

<н«Ґ¬Ґ­в> ::= <бЁ¬ў®«> <бЁ¬ў®«>_ <Їа®ЎҐ«м­лҐ_бЁ¬ў®«л>
||= '\''+ <*<бЁ¬ў®«_6>*> '\''

/*------------------------------------------------------------------*/
<н«Ґ¬Ґ­вл> ::= <н«Ґ¬Ґ­в> <* ',' <н«Ґ¬Ґ­в> *>_

/*------------------------------------------------------------------*/
<бЁ¬ў®«> ::= \\ + <гЇа ў«пой п_Ї®б«Ґ¤®ў вҐ«м­®бвм>
||= ! char{'\11','\12','\15','\40',',','\'',']','}'}+
/* «оЎ®© бЁ¬ў®« ASCII Єа®¬Ґ ' , ] } */

<бЁ¬ў®«_5> ::= \\ + <гЇа ў«пой п_Ї®б«Ґ¤®ў вҐ«м­®бвм>
||= ! char{'\11','\12','\15','\40',#,:,^,'\'',(,),*,
{,|,<}+
/* «оЎ®© бЁ¬ў®« ASCII Єа®¬Ґ
# : ^ ( ) * { | < */

<бЁ¬ў®«_6> ::= \\ + <гЇа ў«пой п_Ї®б«Ґ¤®ў вҐ«м­®бвм>

- 41 -

||= ! char{'\''} + /* «оЎ®© бЁ¬ў®« ASCII Єа®¬Ґ
' */


/*------------------------------------------------------------------*/

<гЇа ў«пой п_Ї®б«Ґ¤®ў вҐ«м­®бвм>
::= char{a,b,f,n,r,t,v,'\\','\'','\"','\?'}+
||= string{07}+
||= char{x,X} + string{09,AF} +

/*------------------------------------------------------------------*/
Соседние файлы в папке 2