S -> D . D | D
D -> D B | B
B -> 0 | 1
S -> S D | D
D -> T L ;
T -> int | double
L -> id L'
L' -> , id L' | e
E -> E + T | T
T -> inum | rnum
Předpokládejte existenci následujících instrukcí:
Příklad: Pro vstupní řetězec 1+2.5+7 se vygeneruje tato posloupnost
instrukcí:
ipush 1; itor; rpush 2.5; radd; ipush 7; itor; radd
Pro přidělování čísel návěští použijte následující metody:
S -> if E then S | if E then S else S | while E do S | repeat S until E | S ; S | ...
a modifikujte odpovídajícím způsobem sémantické akce.
S -> break | continue
B -> B and B | B or B | not B | id