You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2075 lines
93 KiB

compUnit
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a0
| `-- Semi: ;
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a1
| `-- Semi: ;
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a2
| `-- Semi: ;
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a3
| `-- Semi: ;
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a4
| `-- Semi: ;
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a5
| `-- Semi: ;
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a6
| `-- Semi: ;
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a7
| `-- Semi: ;
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a8
| `-- Semi: ;
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a9
| `-- Semi: ;
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a10
| `-- Semi: ;
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a11
| `-- Semi: ;
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a12
| `-- Semi: ;
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a13
| `-- Semi: ;
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a14
| `-- Semi: ;
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a15
| `-- Semi: ;
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a16
| `-- Semi: ;
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a17
| `-- Semi: ;
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a18
| `-- Semi: ;
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a19
| `-- Semi: ;
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a20
| `-- Semi: ;
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a21
| `-- Semi: ;
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a22
| `-- Semi: ;
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a23
| `-- Semi: ;
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a24
| `-- Semi: ;
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a25
| `-- Semi: ;
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a26
| `-- Semi: ;
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a27
| `-- Semi: ;
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a28
| `-- Semi: ;
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a29
| `-- Semi: ;
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a30
| `-- Semi: ;
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a31
| `-- Semi: ;
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a32
| `-- Semi: ;
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a33
| `-- Semi: ;
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a34
| `-- Semi: ;
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a35
| `-- Semi: ;
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a36
| `-- Semi: ;
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a37
| `-- Semi: ;
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a38
| `-- Semi: ;
|-- decl
| `-- varDecl
| |-- bType
| | `-- Int: int
| |-- varDef
| | `-- Ident: a39
| `-- Semi: ;
|-- funcDef
| |-- funcType
| | `-- Int: int
| |-- Ident: testParam8
| |-- L_PAREN: (
| |-- funcFParams
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a0
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a1
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a2
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a3
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a4
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a5
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a6
| | |-- Comma: ,
| | `-- funcFParam
| | |-- bType
| | | `-- Int: int
| | `-- Ident: a7
| |-- R_PAREN: )
| `-- block
| |-- L_BRACE: {
| |-- blockItem
| | `-- stmt
| | |-- Return: return
| | |-- exp
| | | `-- addExp
| | | |-- addExp
| | | | |-- addExp
| | | | | |-- addExp
| | | | | | |-- addExp
| | | | | | | |-- addExp
| | | | | | | | |-- addExp
| | | | | | | | | |-- addExp
| | | | | | | | | | `-- mulExp
| | | | | | | | | | `-- unaryExp
| | | | | | | | | | `-- primaryExp
| | | | | | | | | | `-- lVal
| | | | | | | | | | `-- Ident: a0
| | | | | | | | | |-- AddOp: +
| | | | | | | | | `-- mulExp
| | | | | | | | | `-- unaryExp
| | | | | | | | | `-- primaryExp
| | | | | | | | | `-- lVal
| | | | | | | | | `-- Ident: a1
| | | | | | | | |-- AddOp: +
| | | | | | | | `-- mulExp
| | | | | | | | `-- unaryExp
| | | | | | | | `-- primaryExp
| | | | | | | | `-- lVal
| | | | | | | | `-- Ident: a2
| | | | | | | |-- AddOp: +
| | | | | | | `-- mulExp
| | | | | | | `-- unaryExp
| | | | | | | `-- primaryExp
| | | | | | | `-- lVal
| | | | | | | `-- Ident: a3
| | | | | | |-- AddOp: +
| | | | | | `-- mulExp
| | | | | | `-- unaryExp
| | | | | | `-- primaryExp
| | | | | | `-- lVal
| | | | | | `-- Ident: a4
| | | | | |-- AddOp: +
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a5
| | | | |-- AddOp: +
| | | | `-- mulExp
| | | | `-- unaryExp
| | | | `-- primaryExp
| | | | `-- lVal
| | | | `-- Ident: a6
| | | |-- AddOp: +
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- lVal
| | | `-- Ident: a7
| | `-- Semi: ;
| `-- R_BRACE: }
|-- funcDef
| |-- funcType
| | `-- Int: int
| |-- Ident: testParam16
| |-- L_PAREN: (
| |-- funcFParams
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a0
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a1
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a2
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a3
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a4
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a5
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a6
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a7
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a8
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a9
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a10
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a11
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a12
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a13
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a14
| | |-- Comma: ,
| | `-- funcFParam
| | |-- bType
| | | `-- Int: int
| | `-- Ident: a15
| |-- R_PAREN: )
| `-- block
| |-- L_BRACE: {
| |-- blockItem
| | `-- stmt
| | |-- Return: return
| | |-- exp
| | | `-- addExp
| | | |-- addExp
| | | | |-- addExp
| | | | | |-- addExp
| | | | | | |-- addExp
| | | | | | | |-- addExp
| | | | | | | | |-- addExp
| | | | | | | | | |-- addExp
| | | | | | | | | | |-- addExp
| | | | | | | | | | | |-- addExp
| | | | | | | | | | | | |-- addExp
| | | | | | | | | | | | | |-- addExp
| | | | | | | | | | | | | | |-- addExp
| | | | | | | | | | | | | | | |-- addExp
| | | | | | | | | | | | | | | | |-- addExp
| | | | | | | | | | | | | | | | | |-- addExp
| | | | | | | | | | | | | | | | | | `-- mulExp
| | | | | | | | | | | | | | | | | | `-- unaryExp
| | | | | | | | | | | | | | | | | | `-- primaryExp
| | | | | | | | | | | | | | | | | | `-- lVal
| | | | | | | | | | | | | | | | | | `-- Ident: a0
| | | | | | | | | | | | | | | | | |-- AddOp: +
| | | | | | | | | | | | | | | | | `-- mulExp
| | | | | | | | | | | | | | | | | `-- unaryExp
| | | | | | | | | | | | | | | | | `-- primaryExp
| | | | | | | | | | | | | | | | | `-- lVal
| | | | | | | | | | | | | | | | | `-- Ident: a1
| | | | | | | | | | | | | | | | |-- AddOp: +
| | | | | | | | | | | | | | | | `-- mulExp
| | | | | | | | | | | | | | | | `-- unaryExp
| | | | | | | | | | | | | | | | `-- primaryExp
| | | | | | | | | | | | | | | | `-- lVal
| | | | | | | | | | | | | | | | `-- Ident: a2
| | | | | | | | | | | | | | | |-- SubOp: -
| | | | | | | | | | | | | | | `-- mulExp
| | | | | | | | | | | | | | | `-- unaryExp
| | | | | | | | | | | | | | | `-- primaryExp
| | | | | | | | | | | | | | | `-- lVal
| | | | | | | | | | | | | | | `-- Ident: a3
| | | | | | | | | | | | | | |-- SubOp: -
| | | | | | | | | | | | | | `-- mulExp
| | | | | | | | | | | | | | `-- unaryExp
| | | | | | | | | | | | | | `-- primaryExp
| | | | | | | | | | | | | | `-- lVal
| | | | | | | | | | | | | | `-- Ident: a4
| | | | | | | | | | | | | |-- SubOp: -
| | | | | | | | | | | | | `-- mulExp
| | | | | | | | | | | | | `-- unaryExp
| | | | | | | | | | | | | `-- primaryExp
| | | | | | | | | | | | | `-- lVal
| | | | | | | | | | | | | `-- Ident: a5
| | | | | | | | | | | | |-- SubOp: -
| | | | | | | | | | | | `-- mulExp
| | | | | | | | | | | | `-- unaryExp
| | | | | | | | | | | | `-- primaryExp
| | | | | | | | | | | | `-- lVal
| | | | | | | | | | | | `-- Ident: a6
| | | | | | | | | | | |-- SubOp: -
| | | | | | | | | | | `-- mulExp
| | | | | | | | | | | `-- unaryExp
| | | | | | | | | | | `-- primaryExp
| | | | | | | | | | | `-- lVal
| | | | | | | | | | | `-- Ident: a7
| | | | | | | | | | |-- AddOp: +
| | | | | | | | | | `-- mulExp
| | | | | | | | | | `-- unaryExp
| | | | | | | | | | `-- primaryExp
| | | | | | | | | | `-- lVal
| | | | | | | | | | `-- Ident: a8
| | | | | | | | | |-- AddOp: +
| | | | | | | | | `-- mulExp
| | | | | | | | | `-- unaryExp
| | | | | | | | | `-- primaryExp
| | | | | | | | | `-- lVal
| | | | | | | | | `-- Ident: a9
| | | | | | | | |-- AddOp: +
| | | | | | | | `-- mulExp
| | | | | | | | `-- unaryExp
| | | | | | | | `-- primaryExp
| | | | | | | | `-- lVal
| | | | | | | | `-- Ident: a10
| | | | | | | |-- AddOp: +
| | | | | | | `-- mulExp
| | | | | | | `-- unaryExp
| | | | | | | `-- primaryExp
| | | | | | | `-- lVal
| | | | | | | `-- Ident: a11
| | | | | | |-- AddOp: +
| | | | | | `-- mulExp
| | | | | | `-- unaryExp
| | | | | | `-- primaryExp
| | | | | | `-- lVal
| | | | | | `-- Ident: a12
| | | | | |-- AddOp: +
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a13
| | | | |-- AddOp: +
| | | | `-- mulExp
| | | | `-- unaryExp
| | | | `-- primaryExp
| | | | `-- lVal
| | | | `-- Ident: a14
| | | |-- AddOp: +
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- lVal
| | | `-- Ident: a15
| | `-- Semi: ;
| `-- R_BRACE: }
|-- funcDef
| |-- funcType
| | `-- Int: int
| |-- Ident: testParam32
| |-- L_PAREN: (
| |-- funcFParams
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a0
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a1
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a2
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a3
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a4
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a5
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a6
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a7
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a8
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a9
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a10
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a11
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a12
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a13
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a14
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a15
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a16
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a17
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a18
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a19
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a20
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a21
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a22
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a23
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a24
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a25
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a26
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a27
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a28
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a29
| | |-- Comma: ,
| | |-- funcFParam
| | | |-- bType
| | | | `-- Int: int
| | | `-- Ident: a30
| | |-- Comma: ,
| | `-- funcFParam
| | |-- bType
| | | `-- Int: int
| | `-- Ident: a31
| |-- R_PAREN: )
| `-- block
| |-- L_BRACE: {
| |-- 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
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: a0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- AddOp: +
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: a1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- AddOp: +
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: a2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- AddOp: +
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: a3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- AddOp: +
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: a4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- AddOp: +
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: a5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | |-- AddOp: +
| | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp
| | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp
| | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp
| | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal
| | | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: a6
| | | | | | | | | | | | | | | | | | | | | | | | | | | |-- AddOp: +
| | | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp
| | | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp
| | | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp
| | | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal
| | | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: a7
| | | | | | | | | | | | | | | | | | | | | | | | | | |-- AddOp: +
| | | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp
| | | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp
| | | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp
| | | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal
| | | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: a8
| | | | | | | | | | | | | | | | | | | | | | | | | |-- AddOp: +
| | | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp
| | | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp
| | | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp
| | | | | | | | | | | | | | | | | | | | | | | | | `-- lVal
| | | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: a9
| | | | | | | | | | | | | | | | | | | | | | | | |-- AddOp: +
| | | | | | | | | | | | | | | | | | | | | | | | `-- mulExp
| | | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp
| | | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp
| | | | | | | | | | | | | | | | | | | | | | | | `-- lVal
| | | | | | | | | | | | | | | | | | | | | | | | `-- Ident: a10
| | | | | | | | | | | | | | | | | | | | | | | |-- AddOp: +
| | | | | | | | | | | | | | | | | | | | | | | `-- mulExp
| | | | | | | | | | | | | | | | | | | | | | | `-- unaryExp
| | | | | | | | | | | | | | | | | | | | | | | `-- primaryExp
| | | | | | | | | | | | | | | | | | | | | | | `-- lVal
| | | | | | | | | | | | | | | | | | | | | | | `-- Ident: a11
| | | | | | | | | | | | | | | | | | | | | | |-- AddOp: +
| | | | | | | | | | | | | | | | | | | | | | `-- mulExp
| | | | | | | | | | | | | | | | | | | | | | `-- unaryExp
| | | | | | | | | | | | | | | | | | | | | | `-- primaryExp
| | | | | | | | | | | | | | | | | | | | | | `-- lVal
| | | | | | | | | | | | | | | | | | | | | | `-- Ident: a12
| | | | | | | | | | | | | | | | | | | | | |-- AddOp: +
| | | | | | | | | | | | | | | | | | | | | `-- mulExp
| | | | | | | | | | | | | | | | | | | | | `-- unaryExp
| | | | | | | | | | | | | | | | | | | | | `-- primaryExp
| | | | | | | | | | | | | | | | | | | | | `-- lVal
| | | | | | | | | | | | | | | | | | | | | `-- Ident: a13
| | | | | | | | | | | | | | | | | | | | |-- AddOp: +
| | | | | | | | | | | | | | | | | | | | `-- mulExp
| | | | | | | | | | | | | | | | | | | | `-- unaryExp
| | | | | | | | | | | | | | | | | | | | `-- primaryExp
| | | | | | | | | | | | | | | | | | | | `-- lVal
| | | | | | | | | | | | | | | | | | | | `-- Ident: a14
| | | | | | | | | | | | | | | | | | | |-- AddOp: +
| | | | | | | | | | | | | | | | | | | `-- mulExp
| | | | | | | | | | | | | | | | | | | `-- unaryExp
| | | | | | | | | | | | | | | | | | | `-- primaryExp
| | | | | | | | | | | | | | | | | | | `-- lVal
| | | | | | | | | | | | | | | | | | | `-- Ident: a15
| | | | | | | | | | | | | | | | | | |-- AddOp: +
| | | | | | | | | | | | | | | | | | `-- mulExp
| | | | | | | | | | | | | | | | | | `-- unaryExp
| | | | | | | | | | | | | | | | | | `-- primaryExp
| | | | | | | | | | | | | | | | | | `-- lVal
| | | | | | | | | | | | | | | | | | `-- Ident: a16
| | | | | | | | | | | | | | | | | |-- AddOp: +
| | | | | | | | | | | | | | | | | `-- mulExp
| | | | | | | | | | | | | | | | | `-- unaryExp
| | | | | | | | | | | | | | | | | `-- primaryExp
| | | | | | | | | | | | | | | | | `-- lVal
| | | | | | | | | | | | | | | | | `-- Ident: a17
| | | | | | | | | | | | | | | | |-- SubOp: -
| | | | | | | | | | | | | | | | `-- mulExp
| | | | | | | | | | | | | | | | `-- unaryExp
| | | | | | | | | | | | | | | | `-- primaryExp
| | | | | | | | | | | | | | | | `-- lVal
| | | | | | | | | | | | | | | | `-- Ident: a18
| | | | | | | | | | | | | | | |-- SubOp: -
| | | | | | | | | | | | | | | `-- mulExp
| | | | | | | | | | | | | | | `-- unaryExp
| | | | | | | | | | | | | | | `-- primaryExp
| | | | | | | | | | | | | | | `-- lVal
| | | | | | | | | | | | | | | `-- Ident: a19
| | | | | | | | | | | | | | |-- SubOp: -
| | | | | | | | | | | | | | `-- mulExp
| | | | | | | | | | | | | | `-- unaryExp
| | | | | | | | | | | | | | `-- primaryExp
| | | | | | | | | | | | | | `-- lVal
| | | | | | | | | | | | | | `-- Ident: a20
| | | | | | | | | | | | | |-- SubOp: -
| | | | | | | | | | | | | `-- mulExp
| | | | | | | | | | | | | `-- unaryExp
| | | | | | | | | | | | | `-- primaryExp
| | | | | | | | | | | | | `-- lVal
| | | | | | | | | | | | | `-- Ident: a21
| | | | | | | | | | | | |-- SubOp: -
| | | | | | | | | | | | `-- mulExp
| | | | | | | | | | | | `-- unaryExp
| | | | | | | | | | | | `-- primaryExp
| | | | | | | | | | | | `-- lVal
| | | | | | | | | | | | `-- Ident: a22
| | | | | | | | | | | |-- AddOp: +
| | | | | | | | | | | `-- mulExp
| | | | | | | | | | | `-- unaryExp
| | | | | | | | | | | `-- primaryExp
| | | | | | | | | | | `-- lVal
| | | | | | | | | | | `-- Ident: a23
| | | | | | | | | | |-- AddOp: +
| | | | | | | | | | `-- mulExp
| | | | | | | | | | `-- unaryExp
| | | | | | | | | | `-- primaryExp
| | | | | | | | | | `-- lVal
| | | | | | | | | | `-- Ident: a24
| | | | | | | | | |-- AddOp: +
| | | | | | | | | `-- mulExp
| | | | | | | | | `-- unaryExp
| | | | | | | | | `-- primaryExp
| | | | | | | | | `-- lVal
| | | | | | | | | `-- Ident: a25
| | | | | | | | |-- AddOp: +
| | | | | | | | `-- mulExp
| | | | | | | | `-- unaryExp
| | | | | | | | `-- primaryExp
| | | | | | | | `-- lVal
| | | | | | | | `-- Ident: a26
| | | | | | | |-- AddOp: +
| | | | | | | `-- mulExp
| | | | | | | `-- unaryExp
| | | | | | | `-- primaryExp
| | | | | | | `-- lVal
| | | | | | | `-- Ident: a27
| | | | | | |-- AddOp: +
| | | | | | `-- mulExp
| | | | | | `-- unaryExp
| | | | | | `-- primaryExp
| | | | | | `-- lVal
| | | | | | `-- Ident: a28
| | | | | |-- AddOp: +
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a29
| | | | |-- AddOp: +
| | | | `-- mulExp
| | | | `-- unaryExp
| | | | `-- primaryExp
| | | | `-- lVal
| | | | `-- Ident: a30
| | | |-- AddOp: +
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- lVal
| | | `-- Ident: a31
| | `-- Semi: ;
| `-- R_BRACE: }
|-- funcDef
| |-- funcType
| | `-- Int: int
| |-- Ident: main
| |-- L_PAREN: (
| |-- R_PAREN: )
| `-- block
| |-- L_BRACE: {
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a0
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 0
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a1
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 1
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a2
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 2
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a3
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 3
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a4
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 4
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a5
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 5
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a6
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 6
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a7
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 7
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a8
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 8
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a9
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 9
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a10
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 0
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a11
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 1
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a12
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 2
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a13
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 3
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a14
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 4
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a15
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 5
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a16
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 6
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a17
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 7
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a18
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 8
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a19
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 9
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a20
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 0
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a21
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 1
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a22
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 2
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a23
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 3
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a24
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 4
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a25
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 5
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a26
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 6
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a27
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 7
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a28
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 8
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a29
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 9
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a30
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 0
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a31
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 1
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a32
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 4
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a33
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 5
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a34
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 6
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a35
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 7
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a36
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 8
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a37
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 9
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a38
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 0
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a39
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 1
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a0
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | |-- Ident: testParam8
| | | |-- L_PAREN: (
| | | |-- funcRParams
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a0
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a1
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a2
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a3
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a4
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a5
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a6
| | | | |-- Comma: ,
| | | | `-- exp
| | | | `-- addExp
| | | | `-- mulExp
| | | | `-- unaryExp
| | | | `-- primaryExp
| | | | `-- lVal
| | | | `-- Ident: a7
| | | `-- R_PAREN: )
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | |-- Ident: putint
| | | |-- L_PAREN: (
| | | |-- funcRParams
| | | | `-- exp
| | | | `-- addExp
| | | | `-- mulExp
| | | | `-- unaryExp
| | | | `-- primaryExp
| | | | `-- lVal
| | | | `-- Ident: a0
| | | `-- R_PAREN: )
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a0
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | |-- Ident: testParam16
| | | |-- L_PAREN: (
| | | |-- funcRParams
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a32
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a33
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a34
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a35
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a36
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a37
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a38
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a39
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a8
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a9
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a10
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a11
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a12
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a13
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a14
| | | | |-- Comma: ,
| | | | `-- exp
| | | | `-- addExp
| | | | `-- mulExp
| | | | `-- unaryExp
| | | | `-- primaryExp
| | | | `-- lVal
| | | | `-- Ident: a15
| | | `-- R_PAREN: )
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | |-- Ident: putint
| | | |-- L_PAREN: (
| | | |-- funcRParams
| | | | `-- exp
| | | | `-- addExp
| | | | `-- mulExp
| | | | `-- unaryExp
| | | | `-- primaryExp
| | | | `-- lVal
| | | | `-- Ident: a0
| | | `-- R_PAREN: )
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- lVal
| | | `-- Ident: a0
| | |-- Assign: =
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | |-- Ident: testParam32
| | | |-- L_PAREN: (
| | | |-- funcRParams
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a0
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a1
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a2
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a3
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a4
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a5
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a6
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a7
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a8
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a9
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a10
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a11
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a12
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a13
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a14
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a15
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a16
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a17
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a18
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a19
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a20
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a21
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a22
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a23
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a24
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a25
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a26
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a27
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a28
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a29
| | | | |-- Comma: ,
| | | | |-- exp
| | | | | `-- addExp
| | | | | `-- mulExp
| | | | | `-- unaryExp
| | | | | `-- primaryExp
| | | | | `-- lVal
| | | | | `-- Ident: a30
| | | | |-- Comma: ,
| | | | `-- exp
| | | | `-- addExp
| | | | `-- mulExp
| | | | `-- unaryExp
| | | | `-- primaryExp
| | | | `-- lVal
| | | | `-- Ident: a31
| | | `-- R_PAREN: )
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | |-- Ident: putint
| | | |-- L_PAREN: (
| | | |-- funcRParams
| | | | `-- exp
| | | | `-- addExp
| | | | `-- mulExp
| | | | `-- unaryExp
| | | | `-- primaryExp
| | | | `-- lVal
| | | | `-- Ident: a0
| | | `-- R_PAREN: )
| | `-- Semi: ;
| |-- blockItem
| | `-- stmt
| | |-- Return: return
| | |-- exp
| | | `-- addExp
| | | `-- mulExp
| | | `-- unaryExp
| | | `-- primaryExp
| | | `-- number
| | | `-- IntConst: 0
| | `-- Semi: ;
| `-- R_BRACE: }
`-- EOF: <EOF>