AST Generation: Example 1/2
7/69
Pushdown Input Rule Semantic action
$ i = (i + i) * i$        
$i = (i + i) * i$   
$i = (i + i) * i$               
$i = ( i + i) * i$
$i = (i + i) * i$ E1 ® i E1.a := MakeLeaf(i.a)
$i = (E1  + i) * i$
$i = (E1 + i) * i$
$i = (E1 + i ) * i$ E2 ® i E2.a := MakeLeaf(i.a)
$i = (E1 + E2  ) * i$ E3 ® E1+E2 E3.a:=MakeTree(‘+’, E1.a, E2.a )
$i = (E3 ) * i$
$i = (E3) * i$ E4 ® (E3 )    E4.a := E3.a
$i = E4 * i$
$i = E4 * i$
$i = E4 * i $ E5 ® i E5.a := MakeLeaf(i.a)
$i = E4 * E5  $ E6 ® E4*E5 E6.a:=MakeTree(‘*’, E4 .a, E5 .a)
$i = E6 $ S  ® i = E6    S.a := MakeTree(‘=’, i.a, E6.a)
$S $
Bottom-Up parsing
Semantic actions