compUnit |-- decl | `-- varDecl | |-- bType | | `-- Int: int | |-- varDef | | |-- Ident: a1 | | |-- Assign: = | | `-- initVal | | `-- exp | | `-- addExp | | `-- mulExp | | `-- unaryExp | | `-- primaryExp | | `-- number | | `-- IntConst: 1 | `-- Semi: ; |-- decl | `-- varDecl | |-- bType | | `-- Int: int | |-- varDef | | |-- Ident: a2 | | |-- Assign: = | | `-- initVal | | `-- exp | | `-- addExp | | `-- mulExp | | `-- unaryExp | | `-- primaryExp | | `-- number | | `-- IntConst: 2 | `-- Semi: ; |-- decl | `-- varDecl | |-- bType | | `-- Int: int | |-- varDef | | |-- Ident: a3 | | |-- Assign: = | | `-- initVal | | `-- exp | | `-- addExp | | `-- mulExp | | `-- unaryExp | | `-- primaryExp | | `-- number | | `-- IntConst: 3 | `-- Semi: ; |-- decl | `-- varDecl | |-- bType | | `-- Int: int | |-- varDef | | |-- Ident: a4 | | |-- Assign: = | | `-- initVal | | `-- exp | | `-- addExp | | `-- mulExp | | `-- unaryExp | | `-- primaryExp | | `-- number | | `-- IntConst: 4 | `-- Semi: ; |-- decl | `-- varDecl | |-- bType | | `-- Int: int | |-- varDef | | |-- Ident: a5 | | |-- Assign: = | | `-- initVal | | `-- exp | | `-- addExp | | `-- mulExp | | `-- unaryExp | | `-- primaryExp | | `-- number | | `-- IntConst: 5 | `-- Semi: ; |-- decl | `-- varDecl | |-- bType | | `-- Int: int | |-- varDef | | |-- Ident: a6 | | |-- Assign: = | | `-- initVal | | `-- exp | | `-- addExp | | `-- mulExp | | `-- unaryExp | | `-- primaryExp | | `-- number | | `-- IntConst: 6 | `-- Semi: ; |-- decl | `-- varDecl | |-- bType | | `-- Int: int | |-- varDef | | |-- Ident: a7 | | |-- Assign: = | | `-- initVal | | `-- exp | | `-- addExp | | `-- mulExp | | `-- unaryExp | | `-- primaryExp | | `-- number | | `-- IntConst: 7 | `-- Semi: ; |-- decl | `-- varDecl | |-- bType | | `-- Int: int | |-- varDef | | |-- Ident: a8 | | |-- Assign: = | | `-- initVal | | `-- exp | | `-- addExp | | `-- mulExp | | `-- unaryExp | | `-- primaryExp | | `-- number | | `-- IntConst: 8 | `-- Semi: ; |-- decl | `-- varDecl | |-- bType | | `-- Int: int | |-- varDef | | |-- Ident: a9 | | |-- Assign: = | | `-- initVal | | `-- exp | | `-- addExp | | `-- mulExp | | `-- unaryExp | | `-- primaryExp | | `-- number | | `-- IntConst: 9 | `-- Semi: ; |-- decl | `-- varDecl | |-- bType | | `-- Int: int | |-- varDef | | |-- Ident: a10 | | |-- Assign: = | | `-- initVal | | `-- exp | | `-- addExp | | `-- mulExp | | `-- unaryExp | | `-- primaryExp | | `-- number | | `-- IntConst: 10 | `-- Semi: ; |-- decl | `-- varDecl | |-- bType | | `-- Int: int | |-- varDef | | |-- Ident: a11 | | |-- Assign: = | | `-- initVal | | `-- exp | | `-- addExp | | `-- mulExp | | `-- unaryExp | | `-- primaryExp | | `-- number | | `-- IntConst: 11 | `-- Semi: ; |-- decl | `-- varDecl | |-- bType | | `-- Int: int | |-- varDef | | |-- Ident: a12 | | |-- Assign: = | | `-- initVal | | `-- exp | | `-- addExp | | `-- mulExp | | `-- unaryExp | | `-- primaryExp | | `-- number | | `-- IntConst: 12 | `-- Semi: ; |-- decl | `-- varDecl | |-- bType | | `-- Int: int | |-- varDef | | |-- Ident: a13 | | |-- Assign: = | | `-- initVal | | `-- exp | | `-- addExp | | `-- mulExp | | `-- unaryExp | | `-- primaryExp | | `-- number | | `-- IntConst: 13 | `-- Semi: ; |-- decl | `-- varDecl | |-- bType | | `-- Int: int | |-- varDef | | |-- Ident: a14 | | |-- Assign: = | | `-- initVal | | `-- exp | | `-- addExp | | `-- mulExp | | `-- unaryExp | | `-- primaryExp | | `-- number | | `-- IntConst: 14 | `-- Semi: ; |-- decl | `-- varDecl | |-- bType | | `-- Int: int | |-- varDef | | |-- Ident: a15 | | |-- Assign: = | | `-- initVal | | `-- exp | | `-- addExp | | `-- mulExp | | `-- unaryExp | | `-- primaryExp | | `-- number | | `-- IntConst: 15 | `-- Semi: ; |-- decl | `-- varDecl | |-- bType | | `-- Int: int | |-- varDef | | |-- Ident: a16 | | |-- Assign: = | | `-- initVal | | `-- exp | | `-- addExp | | `-- mulExp | | `-- unaryExp | | `-- primaryExp | | `-- number | | `-- IntConst: 16 | `-- Semi: ; |-- decl | `-- varDecl | |-- bType | | `-- Int: int | |-- varDef | | |-- Ident: a17 | | |-- Assign: = | | `-- initVal | | `-- exp | | `-- addExp | | `-- mulExp | | `-- unaryExp | | `-- primaryExp | | `-- number | | `-- IntConst: 1 | `-- Semi: ; |-- decl | `-- varDecl | |-- bType | | `-- Int: int | |-- varDef | | |-- Ident: a18 | | |-- Assign: = | | `-- initVal | | `-- exp | | `-- addExp | | `-- mulExp | | `-- unaryExp | | `-- primaryExp | | `-- number | | `-- IntConst: 2 | `-- Semi: ; |-- decl | `-- varDecl | |-- bType | | `-- Int: int | |-- varDef | | |-- Ident: a19 | | |-- Assign: = | | `-- initVal | | `-- exp | | `-- addExp | | `-- mulExp | | `-- unaryExp | | `-- primaryExp | | `-- number | | `-- IntConst: 3 | `-- Semi: ; |-- decl | `-- varDecl | |-- bType | | `-- Int: int | |-- varDef | | |-- Ident: a20 | | |-- Assign: = | | `-- initVal | | `-- exp | | `-- addExp | | `-- mulExp | | `-- unaryExp | | `-- primaryExp | | `-- number | | `-- IntConst: 4 | `-- Semi: ; |-- decl | `-- varDecl | |-- bType | | `-- Int: int | |-- varDef | | |-- Ident: a21 | | |-- Assign: = | | `-- initVal | | `-- exp | | `-- addExp | | `-- mulExp | | `-- unaryExp | | `-- primaryExp | | `-- number | | `-- IntConst: 5 | `-- Semi: ; |-- decl | `-- varDecl | |-- bType | | `-- Int: int | |-- varDef | | |-- Ident: a22 | | |-- Assign: = | | `-- initVal | | `-- exp | | `-- addExp | | `-- mulExp | | `-- unaryExp | | `-- primaryExp | | `-- number | | `-- IntConst: 6 | `-- Semi: ; |-- decl | `-- varDecl | |-- bType | | `-- Int: int | |-- varDef | | |-- Ident: a23 | | |-- Assign: = | | `-- initVal | | `-- exp | | `-- addExp | | `-- mulExp | | `-- unaryExp | | `-- primaryExp | | `-- number | | `-- IntConst: 7 | `-- Semi: ; |-- decl | `-- varDecl | |-- bType | | `-- Int: int | |-- varDef | | |-- Ident: a24 | | |-- Assign: = | | `-- initVal | | `-- exp | | `-- addExp | | `-- mulExp | | `-- unaryExp | | `-- primaryExp | | `-- number | | `-- IntConst: 8 | `-- Semi: ; |-- decl | `-- varDecl | |-- bType | | `-- Int: int | |-- varDef | | |-- Ident: a25 | | |-- Assign: = | | `-- initVal | | `-- exp | | `-- addExp | | `-- mulExp | | `-- unaryExp | | `-- primaryExp | | `-- number | | `-- IntConst: 9 | `-- Semi: ; |-- decl | `-- varDecl | |-- bType | | `-- Int: int | |-- varDef | | |-- Ident: a26 | | |-- Assign: = | | `-- initVal | | `-- exp | | `-- addExp | | `-- mulExp | | `-- unaryExp | | `-- primaryExp | | `-- number | | `-- IntConst: 10 | `-- Semi: ; |-- decl | `-- varDecl | |-- bType | | `-- Int: int | |-- varDef | | |-- Ident: a27 | | |-- Assign: = | | `-- initVal | | `-- exp | | `-- addExp | | `-- mulExp | | `-- unaryExp | | `-- primaryExp | | `-- number | | `-- IntConst: 11 | `-- Semi: ; |-- decl | `-- varDecl | |-- bType | | `-- Int: int | |-- varDef | | |-- Ident: a28 | | |-- Assign: = | | `-- initVal | | `-- exp | | `-- addExp | | `-- mulExp | | `-- unaryExp | | `-- primaryExp | | `-- number | | `-- IntConst: 12 | `-- Semi: ; |-- decl | `-- varDecl | |-- bType | | `-- Int: int | |-- varDef | | |-- Ident: a29 | | |-- Assign: = | | `-- initVal | | `-- exp | | `-- addExp | | `-- mulExp | | `-- unaryExp | | `-- primaryExp | | `-- number | | `-- IntConst: 13 | `-- Semi: ; |-- decl | `-- varDecl | |-- bType | | `-- Int: int | |-- varDef | | |-- Ident: a30 | | |-- Assign: = | | `-- initVal | | `-- exp | | `-- addExp | | `-- mulExp | | `-- unaryExp | | `-- primaryExp | | `-- number | | `-- IntConst: 14 | `-- Semi: ; |-- decl | `-- varDecl | |-- bType | | `-- Int: int | |-- varDef | | |-- Ident: a31 | | |-- Assign: = | | `-- initVal | | `-- exp | | `-- addExp | | `-- mulExp | | `-- unaryExp | | `-- primaryExp | | `-- number | | `-- IntConst: 15 | `-- Semi: ; |-- decl | `-- varDecl | |-- bType | | `-- Int: int | |-- varDef | | |-- Ident: a32 | | |-- Assign: = | | `-- initVal | | `-- exp | | `-- addExp | | `-- mulExp | | `-- unaryExp | | `-- primaryExp | | `-- number | | `-- IntConst: 16 | `-- Semi: ; |-- funcDef | |-- funcType | | `-- Int: int | |-- Ident: func | |-- L_PAREN: ( | |-- funcFParams | | |-- funcFParam | | | |-- bType | | | | `-- Int: int | | | `-- Ident: a | | |-- Comma: , | | `-- funcFParam | | |-- bType | | | `-- Int: int | | `-- Ident: b | |-- R_PAREN: ) | `-- block | |-- L_BRACE: { | |-- blockItem | | `-- decl | | `-- varDecl | | |-- bType | | | `-- Int: int | | |-- varDef | | | `-- Ident: i | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: i | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: a | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: b | | `-- Semi: ; | |-- blockItem | | `-- decl | | `-- varDecl | | |-- bType | | | `-- Int: int | | |-- varDef | | | `-- Ident: c1 | | `-- Semi: ; | |-- blockItem | | `-- decl | | `-- varDecl | | |-- bType | | | `-- Int: int | | |-- varDef | | | `-- Ident: c2 | | `-- Semi: ; | |-- blockItem | | `-- decl | | `-- varDecl | | |-- bType | | | `-- Int: int | | |-- varDef | | | `-- Ident: c3 | | `-- Semi: ; | |-- blockItem | | `-- decl | | `-- varDecl | | |-- bType | | | `-- Int: int | | |-- varDef | | | `-- Ident: c4 | | `-- Semi: ; | |-- blockItem | | `-- decl | | `-- varDecl | | |-- bType | | | `-- Int: int | | |-- varDef | | | `-- Ident: d1 | | `-- Semi: ; | |-- blockItem | | `-- decl | | `-- varDecl | | |-- bType | | | `-- Int: int | | |-- varDef | | | `-- Ident: d2 | | `-- Semi: ; | |-- blockItem | | `-- decl | | `-- varDecl | | |-- bType | | | `-- Int: int | | |-- varDef | | | `-- Ident: d3 | | `-- Semi: ; | |-- blockItem | | `-- decl | | `-- varDecl | | |-- bType | | | `-- Int: int | | |-- varDef | | | `-- Ident: d4 | | `-- Semi: ; | |-- blockItem | | `-- decl | | `-- varDecl | | |-- bType | | | `-- Int: int | | |-- varDef | | | `-- Ident: e1 | | `-- Semi: ; | |-- blockItem | | `-- decl | | `-- varDecl | | |-- bType | | | `-- Int: int | | |-- varDef | | | `-- Ident: e2 | | `-- Semi: ; | |-- blockItem | | `-- decl | | `-- varDecl | | |-- bType | | | `-- Int: int | | |-- varDef | | | `-- Ident: e3 | | `-- Semi: ; | |-- blockItem | | `-- decl | | `-- varDecl | | |-- bType | | | `-- Int: int | | |-- varDef | | | `-- Ident: e4 | | `-- Semi: ; | |-- blockItem | | `-- decl | | `-- varDecl | | |-- bType | | | `-- Int: int | | |-- varDef | | | `-- Ident: f1 | | `-- Semi: ; | |-- blockItem | | `-- decl | | `-- varDecl | | |-- bType | | | `-- Int: int | | |-- varDef | | | `-- Ident: f2 | | `-- Semi: ; | |-- blockItem | | `-- decl | | `-- varDecl | | |-- bType | | | `-- Int: int | | |-- varDef | | | `-- Ident: f3 | | `-- Semi: ; | |-- blockItem | | `-- decl | | `-- varDecl | | |-- bType | | | `-- Int: int | | |-- varDef | | | `-- Ident: f4 | | `-- Semi: ; | |-- blockItem | | `-- decl | | `-- varDecl | | |-- bType | | | `-- Int: int | | |-- varDef | | | `-- Ident: g1 | | `-- Semi: ; | |-- blockItem | | `-- decl | | `-- varDecl | | |-- bType | | | `-- Int: int | | |-- varDef | | | `-- Ident: g2 | | `-- Semi: ; | |-- blockItem | | `-- decl | | `-- varDecl | | |-- bType | | | `-- Int: int | | |-- varDef | | | `-- Ident: g3 | | `-- Semi: ; | |-- blockItem | | `-- decl | | `-- varDecl | | |-- bType | | | `-- Int: int | | |-- varDef | | | `-- Ident: g4 | | `-- Semi: ; | |-- blockItem | | `-- decl | | `-- varDecl | | |-- bType | | | `-- Int: int | | |-- varDef | | | `-- Ident: h1 | | `-- Semi: ; | |-- blockItem | | `-- decl | | `-- varDecl | | |-- bType | | | `-- Int: int | | |-- varDef | | | `-- Ident: h2 | | `-- Semi: ; | |-- blockItem | | `-- decl | | `-- varDecl | | |-- bType | | | `-- Int: int | | |-- varDef | | | `-- Ident: h3 | | `-- Semi: ; | |-- blockItem | | `-- decl | | `-- varDecl | | |-- bType | | | `-- Int: int | | |-- varDef | | | `-- Ident: h4 | | `-- Semi: ; | |-- blockItem | | `-- decl | | `-- varDecl | | |-- bType | | | `-- Int: int | | |-- varDef | | | `-- Ident: i1 | | `-- Semi: ; | |-- blockItem | | `-- decl | | `-- varDecl | | |-- bType | | | `-- Int: int | | |-- varDef | | | `-- Ident: i2 | | `-- Semi: ; | |-- blockItem | | `-- decl | | `-- varDecl | | |-- bType | | | `-- Int: int | | |-- varDef | | | `-- Ident: i3 | | `-- Semi: ; | |-- blockItem | | `-- decl | | `-- varDecl | | |-- bType | | | `-- Int: int | | |-- varDef | | | `-- Ident: i4 | | `-- Semi: ; | |-- blockItem | | `-- decl | | `-- varDecl | | |-- bType | | | `-- Int: int | | |-- varDef | | | `-- Ident: j1 | | `-- Semi: ; | |-- blockItem | | `-- decl | | `-- varDecl | | |-- bType | | | `-- Int: int | | |-- varDef | | | `-- Ident: j2 | | `-- Semi: ; | |-- blockItem | | `-- decl | | `-- varDecl | | |-- bType | | | `-- Int: int | | |-- varDef | | | `-- Ident: j3 | | `-- Semi: ; | |-- blockItem | | `-- decl | | `-- varDecl | | |-- bType | | | `-- Int: int | | |-- varDef | | | `-- Ident: j4 | | `-- Semi: ; | |-- blockItem | | `-- decl | | `-- varDecl | | |-- bType | | | `-- Int: int | | |-- varDef | | | `-- Ident: k1 | | `-- Semi: ; | |-- blockItem | | `-- decl | | `-- varDecl | | |-- bType | | | `-- Int: int | | |-- varDef | | | `-- Ident: k2 | | `-- Semi: ; | |-- blockItem | | `-- decl | | `-- varDecl | | |-- bType | | | `-- Int: int | | |-- varDef | | | `-- Ident: k3 | | `-- Semi: ; | |-- blockItem | | `-- decl | | `-- varDecl | | |-- bType | | | `-- Int: int | | |-- varDef | | | `-- Ident: k4 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: c1 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | `-- mulExp | | | `-- unaryExp | | | |-- Ident: getint | | | |-- L_PAREN: ( | | | `-- R_PAREN: ) | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: c2 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | `-- mulExp | | | `-- unaryExp | | | |-- Ident: getint | | | |-- L_PAREN: ( | | | `-- R_PAREN: ) | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: c3 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | `-- mulExp | | | `-- unaryExp | | | |-- Ident: getint | | | |-- L_PAREN: ( | | | `-- R_PAREN: ) | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: c4 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | `-- mulExp | | | `-- unaryExp | | | |-- Ident: getint | | | |-- L_PAREN: ( | | | `-- R_PAREN: ) | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: d1 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 1 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: c1 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a1 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: d2 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 2 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: c2 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a2 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: d3 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 3 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: c3 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a3 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: d4 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 4 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: c4 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a4 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: e1 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 1 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: d1 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a5 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: e2 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 2 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: d2 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a6 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: e3 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 3 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: d3 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a7 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: e4 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 4 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: d4 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a8 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: f1 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 1 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: e1 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a9 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: f2 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 2 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: e2 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a10 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: f3 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 3 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: e3 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a11 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: f4 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 4 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: e4 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a12 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: g1 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 1 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: f1 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a13 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: g2 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 2 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: f2 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a14 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: g3 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 3 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: f3 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a15 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: g4 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 4 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: f4 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a16 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: h1 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 1 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: g1 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a17 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: h2 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 2 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: g2 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a18 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: h3 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 3 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: g3 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a19 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: h4 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 4 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: g4 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a20 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: i1 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 1 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: h1 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a21 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: i2 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 2 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: h2 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a22 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: i3 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 3 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: h3 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a23 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: i4 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 4 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: h4 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a24 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: j1 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 1 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: i1 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a25 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: j2 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 2 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: i2 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a26 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: j3 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 3 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: i3 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a27 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: j4 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 4 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: i4 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a28 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: k1 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 1 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: j1 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a29 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: k2 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 2 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: j2 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a30 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: k3 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 3 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: j3 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a31 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: k4 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 4 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: j4 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a32 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: i | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- lVal | | | | | `-- Ident: a | | | | |-- SubOp: - | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: b | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- number | | | `-- IntConst: 10 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: k1 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 1 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: j1 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a29 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: k2 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 2 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: j2 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a30 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: k3 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 3 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: j3 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a31 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: k4 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 4 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: j4 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a32 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: j1 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 1 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: i1 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a25 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: j2 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 2 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: i2 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a26 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: j3 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 3 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: i3 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a27 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: j4 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 4 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: i4 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a28 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: i1 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 1 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: h1 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a21 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: i2 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 2 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: h2 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a22 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: i3 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 3 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: h3 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a23 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: i4 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 4 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: h4 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a24 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: h1 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 1 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: g1 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a17 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: h2 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 2 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: g2 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a18 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: h3 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 3 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: g3 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a19 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: h4 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 4 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: g4 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a20 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: g1 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 1 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: f1 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a13 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: g2 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 2 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: f2 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a14 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: g3 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 3 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: f3 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a15 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: g4 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 4 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: f4 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a16 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: f1 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 1 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: e1 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a9 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: f2 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 2 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: e2 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a10 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: f3 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 3 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: e3 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a11 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: f4 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 4 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: e4 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a12 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: e1 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 1 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: d1 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a5 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: e2 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 2 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: d2 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a6 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: e3 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 3 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: d3 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a7 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: e4 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 4 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: d4 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a8 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: d1 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 1 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: c1 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a1 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: d2 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 2 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: c2 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a2 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: d3 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 3 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: c3 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a3 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: d4 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 4 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: c4 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a4 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: d1 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 1 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: c1 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a1 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: d2 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 2 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: c2 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a2 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: d3 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 3 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: c3 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a3 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: d4 | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- number | | | | | `-- IntConst: 4 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: c4 | | | |-- AddOp: + | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a4 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- Return: return | | |-- exp | | | `-- addExp | | | |-- addExp | | | | |-- addExp | | | | | |-- addExp | | | | | | |-- addExp | | | | | | | |-- addExp | | | | | | | | |-- addExp | | | | | | | | | |-- addExp | | | | | | | | | | |-- addExp | | | | | | | | | | | |-- addExp | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- addExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: i | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- AddOp: + | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: c1 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- AddOp: + | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: c2 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- AddOp: + | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: c3 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- AddOp: + | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: c4 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- SubOp: - | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: d1 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- SubOp: - | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: d2 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- SubOp: - | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: d3 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- SubOp: - | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: d4 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- AddOp: + | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: e1 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- AddOp: + | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: e2 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- AddOp: + | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: e3 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- AddOp: + | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: e4 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- SubOp: - | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: f1 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- SubOp: - | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: f2 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- SubOp: - | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: f3 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- SubOp: - | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: f4 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- AddOp: + | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: g1 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- AddOp: + | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: g2 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- AddOp: + | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: g3 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- AddOp: + | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: g4 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- SubOp: - | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: h1 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- SubOp: - | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: h2 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- SubOp: - | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: h3 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- SubOp: - | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: h4 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- AddOp: + | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: i1 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- AddOp: + | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: i2 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- AddOp: + | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: i3 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- AddOp: + | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: i4 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- SubOp: - | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: j1 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- SubOp: - | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: j2 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- SubOp: - | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: j3 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- SubOp: - | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: j4 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- AddOp: + | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: k1 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- AddOp: + | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: k2 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- AddOp: + | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: k3 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- AddOp: + | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: k4 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- AddOp: + | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: a1 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- SubOp: - | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: a2 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- AddOp: + | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: a3 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- SubOp: - | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: a4 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- AddOp: + | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: a5 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- SubOp: - | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: a6 | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- AddOp: + | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: a7 | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- SubOp: - | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: a8 | | | | | | | | | | | | | | | | | | | | | | | | | | |-- AddOp: + | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: a9 | | | | | | | | | | | | | | | | | | | | | | | | | |-- SubOp: - | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: a10 | | | | | | | | | | | | | | | | | | | | | | | | |-- AddOp: + | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: a11 | | | | | | | | | | | | | | | | | | | | | | | |-- SubOp: - | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: a12 | | | | | | | | | | | | | | | | | | | | | | |-- AddOp: + | | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | | `-- Ident: a13 | | | | | | | | | | | | | | | | | | | | | |-- SubOp: - | | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | | `-- Ident: a14 | | | | | | | | | | | | | | | | | | | | |-- AddOp: + | | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | | `-- Ident: a15 | | | | | | | | | | | | | | | | | | | |-- SubOp: - | | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | | `-- Ident: a16 | | | | | | | | | | | | | | | | | | |-- AddOp: + | | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | | `-- Ident: a17 | | | | | | | | | | | | | | | | | |-- SubOp: - | | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | | `-- Ident: a18 | | | | | | | | | | | | | | | | |-- AddOp: + | | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | | `-- Ident: a19 | | | | | | | | | | | | | | | |-- SubOp: - | | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | | `-- Ident: a20 | | | | | | | | | | | | | | |-- AddOp: + | | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | | `-- Ident: a21 | | | | | | | | | | | | | |-- SubOp: - | | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | | `-- Ident: a22 | | | | | | | | | | | | |-- AddOp: + | | | | | | | | | | | | `-- mulExp | | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | | `-- lVal | | | | | | | | | | | | `-- Ident: a23 | | | | | | | | | | | |-- SubOp: - | | | | | | | | | | | `-- mulExp | | | | | | | | | | | `-- unaryExp | | | | | | | | | | | `-- primaryExp | | | | | | | | | | | `-- lVal | | | | | | | | | | | `-- Ident: a24 | | | | | | | | | | |-- AddOp: + | | | | | | | | | | `-- mulExp | | | | | | | | | | `-- unaryExp | | | | | | | | | | `-- primaryExp | | | | | | | | | | `-- lVal | | | | | | | | | | `-- Ident: a25 | | | | | | | | | |-- SubOp: - | | | | | | | | | `-- mulExp | | | | | | | | | `-- unaryExp | | | | | | | | | `-- primaryExp | | | | | | | | | `-- lVal | | | | | | | | | `-- Ident: a26 | | | | | | | | |-- AddOp: + | | | | | | | | `-- mulExp | | | | | | | | `-- unaryExp | | | | | | | | `-- primaryExp | | | | | | | | `-- lVal | | | | | | | | `-- Ident: a27 | | | | | | | |-- SubOp: - | | | | | | | `-- mulExp | | | | | | | `-- unaryExp | | | | | | | `-- primaryExp | | | | | | | `-- lVal | | | | | | | `-- Ident: a28 | | | | | | |-- AddOp: + | | | | | | `-- mulExp | | | | | | `-- unaryExp | | | | | | `-- primaryExp | | | | | | `-- lVal | | | | | | `-- Ident: a29 | | | | | |-- SubOp: - | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- lVal | | | | | `-- Ident: a30 | | | | |-- AddOp: + | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: a31 | | | |-- SubOp: - | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a32 | | `-- Semi: ; | `-- R_BRACE: } |-- funcDef | |-- funcType | | `-- Int: int | |-- Ident: main | |-- L_PAREN: ( | |-- R_PAREN: ) | `-- block | |-- L_BRACE: { | |-- blockItem | | `-- decl | | `-- varDecl | | |-- bType | | | `-- Int: int | | |-- varDef | | | `-- Ident: a | | `-- Semi: ; | |-- blockItem | | `-- decl | | `-- varDecl | | |-- bType | | | `-- Int: int | | |-- varDef | | | `-- Ident: b | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: a | | |-- Assign: = | | |-- exp | | | `-- addExp | | | `-- mulExp | | | `-- unaryExp | | | |-- Ident: getint | | | |-- L_PAREN: ( | | | `-- R_PAREN: ) | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: b | | |-- Assign: = | | |-- exp | | | `-- addExp | | | |-- addExp | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: a | | | |-- AddOp: + | | | `-- mulExp | | | |-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- number | | | | `-- IntConst: 2 | | | |-- MulOp: * | | | `-- unaryExp | | | `-- primaryExp | | | `-- number | | | `-- IntConst: 9 | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- lVal | | | `-- Ident: a | | |-- Assign: = | | |-- exp | | | `-- addExp | | | `-- mulExp | | | `-- unaryExp | | | |-- Ident: func | | | |-- L_PAREN: ( | | | |-- funcRParams | | | | |-- exp | | | | | `-- addExp | | | | | `-- mulExp | | | | | `-- unaryExp | | | | | `-- primaryExp | | | | | `-- lVal | | | | | `-- Ident: a | | | | |-- Comma: , | | | | `-- exp | | | | `-- addExp | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: b | | | `-- R_PAREN: ) | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- exp | | | `-- addExp | | | `-- mulExp | | | `-- unaryExp | | | |-- Ident: putint | | | |-- L_PAREN: ( | | | |-- funcRParams | | | | `-- exp | | | | `-- addExp | | | | `-- mulExp | | | | `-- unaryExp | | | | `-- primaryExp | | | | `-- lVal | | | | `-- Ident: a | | | `-- R_PAREN: ) | | `-- Semi: ; | |-- blockItem | | `-- stmt | | |-- Return: return | | |-- exp | | | `-- addExp | | | `-- mulExp | | | `-- unaryExp | | | `-- primaryExp | | | `-- lVal | | | `-- Ident: a | | `-- Semi: ; | `-- R_BRACE: } `-- EOF: