Classic Expression Grammar :
0.Goal → Expr1.Assign → ident = Expr; //making Assign node
2.Expr → Expr + Term //making plus node3. | Expr - Term //making minus node
4. | Term
5.Term → Term * Factor //making Mult node
6. | Term / Factor //making div node
7. | Factor
8.Factor → ident //making ident node
9. | num //making num node
10. | ( Expr )
x = a * 3 + b ;
parsing tree
AST目的生成代码 所以本质上就是在parsing tree上剔除了多余的信息 但保留了原有的token信息和结构
AST: