- •Раздел операторов
- •Выражения
- •Синтаксис языка
- •Грамматика № 1_1. Программа
- •Грамматика № 1_2. Раздел описаний
- •Функция перенос
- •Функция свертка
- •Грамматика № 1_3. Метка
- •Грамматика № 2. Раздел операторов
- •Функция перенос
- •Функция свертка
- •Грамматика № 3. Описание выражений
- •Матрица предшествования
- •Функция перенос
- •Функция свертка
Грамматика № 1_3. Метка
Правила :
1) M -> i
2) M -> n
Терминалы :
i = идентификатор, n = целое без знака
Нетерминалы :
M = метка
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Матрица предшествования:
Функция перенос Функция свертка
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
правила грамматики :
1) M -> i
2) M -> n
Грамматика № 2. Раздел операторов
Правила :
1) SOP -> beg LS end
2) SOP -> beg end
3) LS -> OPR
4) LS -> LS ; OPR
5) OPR -> OP1
6) OPR -> LM :
7) OP1 -> LM : OP2
8) OP1 -> OP2
9) LM -> M
10) LM -> LM : M
11) M -> i
12) M -> n
13) Z -> -- n
14) Z -> n
15) OP2 -> OP3
16) OP2 -> SOP
17) OP3 -> O:=
18) OP3 -> OR
19) OP3 -> OW
20) OP3 -> OG
21) OP3 -> OI
22) OP3 -> OWI
23) O:= -> TMP := vr
24) OR -> r ( LPR )
25) OR -> rln ( LPR )
26) OW -> w ( LPR )
27) OW -> wln ( LPR )
28) OG -> gt M
29) OI -> if vr th SOP
30) OI -> if vr th SOP els SOP
31) OWI -> whi vr do OP2
32) LPR -> PAR
33) LPR -> LPR , PAR
34) PAR -> TMP
35) PAR -> Z
36) PAR -> ' str '
37) TMP -> i
38) TMP -> i [ vr ]
где:
Терминалы :
beg = ключевое слово begin,
end = ключевое слово
n = целое без знака
str = ключевое слово string
; , : , := , ' ,
gt = ключевое слово goto
if = ключевое слово
th = ключевое слово then
els = ключевое слово else
whi = ключевое слово while
do = ключевое слово
r = ключевое слово read
rln = ключевое слово readln
w = ключевое слово write
wln = ключевое слово writeln
-- = бинарный минус
vr = выражение (грамматика № 3)
, , [ , ] , ( , ),
i = идентификатор
Нетерминалы :
SOP = составной оператор
LS = список операторов
OPR = оператор
OP1, OP2, OP3,
LM = список меток
M = метка
Z = целое
O:= = оператор присваивания
OR = оператор ввода
OW = оператор вывода
OG = безусловный переход
OI = условный оператор
OWI = оператор цикла
LPR = список параметров
PAR = параметр
TMP = переменная
Матрица предшествования:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|