Pravidlo: Sémantická akce:
S ® i
:= Ek { S.a := MakeTree(‘=’, i.a, Ek.a) }
Ei ® Ej + Ek { Ei.a
:= MakeTree(‘+’, Ej .a,
Ek .a) }
Ei ® Ej * Ek { Ei.a
:= MakeTree(‘*’, Ej .a,
Ek .a) }
Ei ® (Ej) {
Ei.a := Ej.a }
Ei ® i { Ei.a := MakeLeaf(i.a) }
Poznámky:
• MakeTree(o, a, b) vytvoří nový uzel o, naváže
levého syna a, pravého syna b, a vrátí ukazatel na uzel o
• MakeLeaf(i.a) vytvoří nový uzel i.a (i.a je adresa do tabulky symbolů) a vrátí ukazatel na tento uzel