матика оператора присвоювання
GR10 (Початковий символ
O:=)
Термінали:=ідент;: ==: =; Pex =* вираз;
Нетермінали:
O:==* ОпПрісв 1;
Правила:
) O:=-> id:=Pex
. Граматика операторів введення / виведення GR11 (Початковий символ OIO )
Термінали:=readln; wr=writeln; (= (;
) =); Pex =* вираз;, =;
id=ідент;
Нетермінали:
OIO =* ОпВв / Вив 2; OIn=ОперВвода 1;=ОперВивода 1; W1=Аргумент виведення 2;
LWr=СпісВираж 1; Vrs=СпісПерем 1;
Vr1=Змін 2;
Правила:
) OIO -> OIn
) OIO -> OOu
) OIn -> rd (Vrs)
) OOu -> wr (LWr)
) W1 -> Pex
) W1 -> Pex, W1
) LWr -> W1
) Vrs -> Vr1
) Vr1 -> id
10) Vr1 -> id, Vr1
. Граматика операторів управління GR12 (Початковий символ OMn )
Термінали:=repeat; unt=until; Opl =* Оператор;
Lex =* ЛогВираж; got=goto; if=if;=then; els=else; M =* Мітка;
; =;
Нетермінали:
OMn =* ОперУправ 3; ORu=ОперЦікла 1;
OGo=ОперПерехода 1; OIf=ОперУсловія 2;
Ops=Оператори 1; Op1=Оператор 2;
Правила:
) OMn -> ORu
) OMn -> OGo
) OMn -> OIf
4) ORu -> rpt Ops unt Lex
) OGo -> got M
) OIf -> if Lex thn Opl
) OIf -> if Lex thn Opl els Opl
) Ops -> Op1
) Op1 -> Opl;
) Op1 -> Opl; Op1
13. Граматика логічних виразів GR13 (Початковий символ Lex )
Термінали:
> =>; < =<; ===;
> ==> =; <== <=; <> =<>;
(= (;) =); or=or;=and; not=not; Pex =* вираз;=рядок; sme=Same;, =;
Нетермінали:
Lex =* ЛогВираж 2; Z1=2;=1; Z3=2; 4=3; F1=2;
F2=2; Sgn=знак порівняння 6;
Правила:
) Lex -> Z1 F1
) Lex -> Z1
3) Z1 -> Z2 F2
) Z1 -> Z2
) Z2 -> Z3
) Z3 -> not Z3
) Z3 -> Z4
) Z4 -> sme (str, str)
) ...