(New page: == Problem (in Portuguese) == E<sub>0</sub> -> E<sub>1</sub> '''+''' T { <font color="blue">E<sub>0</sub>.val = E<sub>1</sub>.val + T.val;</font> } E -> T { <font color="blue"...) |
(→Problem (in Portuguese)) |
||
Line 5: | Line 5: | ||
T<sub>0</sub> -> T<sub>1</sub> '''@''' F { <font color="blue">T<sub>0</sub>.val = T<sub>1</sub>.val * F.val / 100;</font> } | T<sub>0</sub> -> T<sub>1</sub> '''@''' F { <font color="blue">T<sub>0</sub>.val = T<sub>1</sub>.val * F.val / 100;</font> } | ||
T -> F { <font color="blue">T.val = F.val;</font> } | T -> F { <font color="blue">T.val = F.val;</font> } | ||
− | F -> '''(''' E ''')''' { <font color="blue">F.val = E | + | F -> '''(''' E ''')''' { <font color="blue">F.val = E.val;</font> } |
− | |||
F -> N { <font color="blue">F.val = N.val;</font> } | F -> N { <font color="blue">F.val = N.val;</font> } | ||
N<sub>0</sub> -> N<sub>1</sub> '''DIG''' { <font color="blue">N<sub>0</sub>.val = N<sub>1</sub>.val * 10 + DIG.val;</font> } | N<sub>0</sub> -> N<sub>1</sub> '''DIG''' { <font color="blue">N<sub>0</sub>.val = N<sub>1</sub>.val * 10 + DIG.val;</font> } |
E0 -> E1 + T { E0.val = E1.val + T.val; } E -> T { E.val = T.val; } T0 -> T1 @ F { T0.val = T1.val * F.val / 100; } T -> F { T.val = F.val; } F -> ( E ) { F.val = E.val; } F -> N { F.val = N.val; } N0 -> N1 DIG { N0.val = N1.val * 10 + DIG.val; } N -> DIG { N.val = DIG.val; }
The following is the annotated tree.