forked from NUDT-compiler/nudt-compiler-cpp
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.
526 lines
30 KiB
526 lines
30 KiB
compUnit
|
|
|-- funcDef
|
|
| |-- funcType
|
|
| | `-- Int: int
|
|
| |-- Ident: main
|
|
| |-- L_PAREN: (
|
|
| |-- R_PAREN: )
|
|
| `-- block
|
|
| |-- L_BRACE: {
|
|
| |-- blockItem
|
|
| | `-- decl
|
|
| | `-- varDecl
|
|
| | |-- bType
|
|
| | | `-- Int: int
|
|
| | |-- varDef
|
|
| | | |-- Ident: a
|
|
| | | |-- Assign: =
|
|
| | | `-- initVal
|
|
| | | `-- exp
|
|
| | | `-- addExp
|
|
| | | `-- mulExp
|
|
| | | `-- unaryExp
|
|
| | | `-- primaryExp
|
|
| | | `-- number
|
|
| | | `-- IntConst: 893
|
|
| | `-- Semi: ;
|
|
| |-- blockItem
|
|
| | `-- decl
|
|
| | `-- varDecl
|
|
| | |-- bType
|
|
| | | `-- Int: int
|
|
| | |-- varDef
|
|
| | | |-- Ident: b
|
|
| | | |-- Assign: =
|
|
| | | `-- initVal
|
|
| | | `-- exp
|
|
| | | `-- addExp
|
|
| | | `-- mulExp
|
|
| | | `-- unaryExp
|
|
| | | `-- primaryExp
|
|
| | | `-- number
|
|
| | | `-- IntConst: 716
|
|
| | `-- Semi: ;
|
|
| |-- blockItem
|
|
| | `-- stmt
|
|
| | `-- block
|
|
| | |-- L_BRACE: {
|
|
| | |-- blockItem
|
|
| | | `-- decl
|
|
| | | `-- varDecl
|
|
| | | |-- bType
|
|
| | | | `-- Int: int
|
|
| | | |-- varDef
|
|
| | | | |-- Ident: a
|
|
| | | | |-- Assign: =
|
|
| | | | `-- initVal
|
|
| | | | `-- exp
|
|
| | | | `-- addExp
|
|
| | | | `-- mulExp
|
|
| | | | `-- unaryExp
|
|
| | | | `-- primaryExp
|
|
| | | | `-- number
|
|
| | | | `-- IntConst: 837
|
|
| | | `-- Semi: ;
|
|
| | |-- blockItem
|
|
| | | `-- stmt
|
|
| | | |-- lVal
|
|
| | | | `-- Ident: a
|
|
| | | |-- Assign: =
|
|
| | | |-- exp
|
|
| | | | `-- addExp
|
|
| | | | |-- addExp
|
|
| | | | | `-- mulExp
|
|
| | | | | `-- unaryExp
|
|
| | | | | `-- primaryExp
|
|
| | | | | `-- lVal
|
|
| | | | | `-- Ident: a
|
|
| | | | |-- AddOp: +
|
|
| | | | `-- mulExp
|
|
| | | | `-- unaryExp
|
|
| | | | `-- primaryExp
|
|
| | | | `-- number
|
|
| | | | `-- IntConst: 128
|
|
| | | `-- Semi: ;
|
|
| | |-- blockItem
|
|
| | | `-- stmt
|
|
| | | |-- lVal
|
|
| | | | `-- Ident: b
|
|
| | | |-- Assign: =
|
|
| | | |-- exp
|
|
| | | | `-- addExp
|
|
| | | | |-- addExp
|
|
| | | | | `-- mulExp
|
|
| | | | | `-- unaryExp
|
|
| | | | | `-- primaryExp
|
|
| | | | | `-- lVal
|
|
| | | | | `-- Ident: b
|
|
| | | | |-- AddOp: +
|
|
| | | | `-- mulExp
|
|
| | | | `-- unaryExp
|
|
| | | | `-- primaryExp
|
|
| | | | `-- lVal
|
|
| | | | `-- Ident: a
|
|
| | | `-- Semi: ;
|
|
| | |-- blockItem
|
|
| | | `-- stmt
|
|
| | | `-- block
|
|
| | | |-- L_BRACE: {
|
|
| | | |-- blockItem
|
|
| | | | `-- decl
|
|
| | | | `-- varDecl
|
|
| | | | |-- bType
|
|
| | | | | `-- Int: int
|
|
| | | | |-- varDef
|
|
| | | | | |-- Ident: b
|
|
| | | | | |-- Assign: =
|
|
| | | | | `-- initVal
|
|
| | | | | `-- exp
|
|
| | | | | `-- addExp
|
|
| | | | | `-- mulExp
|
|
| | | | | `-- unaryExp
|
|
| | | | | `-- primaryExp
|
|
| | | | | `-- number
|
|
| | | | | `-- IntConst: 241
|
|
| | | | `-- Semi: ;
|
|
| | | |-- blockItem
|
|
| | | | `-- stmt
|
|
| | | | |-- lVal
|
|
| | | | | `-- Ident: a
|
|
| | | | |-- Assign: =
|
|
| | | | |-- exp
|
|
| | | | | `-- addExp
|
|
| | | | | |-- addExp
|
|
| | | | | | |-- addExp
|
|
| | | | | | | `-- mulExp
|
|
| | | | | | | `-- unaryExp
|
|
| | | | | | | `-- primaryExp
|
|
| | | | | | | `-- lVal
|
|
| | | | | | | `-- Ident: a
|
|
| | | | | | |-- AddOp: +
|
|
| | | | | | `-- mulExp
|
|
| | | | | | `-- unaryExp
|
|
| | | | | | `-- primaryExp
|
|
| | | | | | `-- lVal
|
|
| | | | | | `-- Ident: b
|
|
| | | | | |-- SubOp: -
|
|
| | | | | `-- mulExp
|
|
| | | | | `-- unaryExp
|
|
| | | | | `-- primaryExp
|
|
| | | | | `-- number
|
|
| | | | | `-- IntConst: 412
|
|
| | | | `-- Semi: ;
|
|
| | | |-- blockItem
|
|
| | | | `-- stmt
|
|
| | | | `-- block
|
|
| | | | |-- L_BRACE: {
|
|
| | | | |-- blockItem
|
|
| | | | | `-- decl
|
|
| | | | | `-- varDecl
|
|
| | | | | |-- bType
|
|
| | | | | | `-- Int: int
|
|
| | | | | |-- varDef
|
|
| | | | | | |-- Ident: a
|
|
| | | | | | |-- Assign: =
|
|
| | | | | | `-- initVal
|
|
| | | | | | `-- exp
|
|
| | | | | | `-- addExp
|
|
| | | | | | `-- mulExp
|
|
| | | | | | `-- unaryExp
|
|
| | | | | | `-- primaryExp
|
|
| | | | | | `-- number
|
|
| | | | | | `-- IntConst: 771
|
|
| | | | | `-- Semi: ;
|
|
| | | | |-- blockItem
|
|
| | | | | `-- stmt
|
|
| | | | | |-- lVal
|
|
| | | | | | `-- Ident: b
|
|
| | | | | |-- Assign: =
|
|
| | | | | |-- exp
|
|
| | | | | | `-- addExp
|
|
| | | | | | |-- addExp
|
|
| | | | | | | |-- addExp
|
|
| | | | | | | | `-- mulExp
|
|
| | | | | | | | `-- unaryExp
|
|
| | | | | | | | `-- primaryExp
|
|
| | | | | | | | `-- lVal
|
|
| | | | | | | | `-- Ident: b
|
|
| | | | | | | |-- AddOp: +
|
|
| | | | | | | `-- mulExp
|
|
| | | | | | | `-- unaryExp
|
|
| | | | | | | `-- primaryExp
|
|
| | | | | | | `-- lVal
|
|
| | | | | | | `-- Ident: a
|
|
| | | | | | |-- SubOp: -
|
|
| | | | | | `-- mulExp
|
|
| | | | | | `-- unaryExp
|
|
| | | | | | `-- primaryExp
|
|
| | | | | | `-- number
|
|
| | | | | | `-- IntConst: 18
|
|
| | | | | `-- Semi: ;
|
|
| | | | |-- blockItem
|
|
| | | | | `-- stmt
|
|
| | | | | |-- lVal
|
|
| | | | | | `-- Ident: a
|
|
| | | | | |-- Assign: =
|
|
| | | | | |-- exp
|
|
| | | | | | `-- addExp
|
|
| | | | | | |-- addExp
|
|
| | | | | | | `-- mulExp
|
|
| | | | | | | `-- unaryExp
|
|
| | | | | | | `-- primaryExp
|
|
| | | | | | | `-- lVal
|
|
| | | | | | | `-- Ident: b
|
|
| | | | | | |-- AddOp: +
|
|
| | | | | | `-- mulExp
|
|
| | | | | | `-- unaryExp
|
|
| | | | | | `-- primaryExp
|
|
| | | | | | `-- number
|
|
| | | | | | `-- IntConst: 66
|
|
| | | | | `-- Semi: ;
|
|
| | | | `-- R_BRACE: }
|
|
| | | |-- blockItem
|
|
| | | | `-- stmt
|
|
| | | | |-- lVal
|
|
| | | | | `-- Ident: b
|
|
| | | | |-- Assign: =
|
|
| | | | |-- exp
|
|
| | | | | `-- addExp
|
|
| | | | | |-- addExp
|
|
| | | | | | |-- addExp
|
|
| | | | | | | `-- mulExp
|
|
| | | | | | | `-- unaryExp
|
|
| | | | | | | `-- primaryExp
|
|
| | | | | | | `-- lVal
|
|
| | | | | | | `-- Ident: b
|
|
| | | | | | |-- AddOp: +
|
|
| | | | | | `-- mulExp
|
|
| | | | | | `-- unaryExp
|
|
| | | | | | `-- primaryExp
|
|
| | | | | | `-- lVal
|
|
| | | | | | `-- Ident: a
|
|
| | | | | |-- SubOp: -
|
|
| | | | | `-- mulExp
|
|
| | | | | `-- unaryExp
|
|
| | | | | `-- primaryExp
|
|
| | | | | `-- number
|
|
| | | | | `-- IntConst: 33
|
|
| | | | `-- Semi: ;
|
|
| | | |-- blockItem
|
|
| | | | `-- stmt
|
|
| | | | |-- lVal
|
|
| | | | | `-- Ident: a
|
|
| | | | |-- Assign: =
|
|
| | | | |-- exp
|
|
| | | | | `-- addExp
|
|
| | | | | |-- addExp
|
|
| | | | | | `-- mulExp
|
|
| | | | | | `-- unaryExp
|
|
| | | | | | `-- primaryExp
|
|
| | | | | | `-- lVal
|
|
| | | | | | `-- Ident: b
|
|
| | | | | |-- SubOp: -
|
|
| | | | | `-- mulExp
|
|
| | | | | `-- unaryExp
|
|
| | | | | `-- primaryExp
|
|
| | | | | `-- number
|
|
| | | | | `-- IntConst: 55
|
|
| | | | `-- Semi: ;
|
|
| | | |-- blockItem
|
|
| | | | `-- stmt
|
|
| | | | `-- block
|
|
| | | | |-- L_BRACE: {
|
|
| | | | |-- blockItem
|
|
| | | | | `-- stmt
|
|
| | | | | |-- Return: return
|
|
| | | | | |-- exp
|
|
| | | | | | `-- addExp
|
|
| | | | | | `-- mulExp
|
|
| | | | | | |-- mulExp
|
|
| | | | | | | `-- unaryExp
|
|
| | | | | | | `-- primaryExp
|
|
| | | | | | | |-- L_PAREN: (
|
|
| | | | | | | |-- exp
|
|
| | | | | | | | `-- addExp
|
|
| | | | | | | | |-- addExp
|
|
| | | | | | | | | `-- mulExp
|
|
| | | | | | | | | `-- unaryExp
|
|
| | | | | | | | | `-- primaryExp
|
|
| | | | | | | | | `-- lVal
|
|
| | | | | | | | | `-- Ident: a
|
|
| | | | | | | | |-- AddOp: +
|
|
| | | | | | | | `-- mulExp
|
|
| | | | | | | | `-- unaryExp
|
|
| | | | | | | | `-- primaryExp
|
|
| | | | | | | | `-- lVal
|
|
| | | | | | | | `-- Ident: b
|
|
| | | | | | | `-- R_PAREN: )
|
|
| | | | | | |-- ModOp: %
|
|
| | | | | | `-- unaryExp
|
|
| | | | | | `-- primaryExp
|
|
| | | | | | `-- number
|
|
| | | | | | `-- IntConst: 21
|
|
| | | | | `-- Semi: ;
|
|
| | | | `-- R_BRACE: }
|
|
| | | `-- R_BRACE: }
|
|
| | |-- blockItem
|
|
| | | `-- stmt
|
|
| | | |-- lVal
|
|
| | | | `-- Ident: a
|
|
| | | |-- Assign: =
|
|
| | | |-- exp
|
|
| | | | `-- addExp
|
|
| | | | |-- addExp
|
|
| | | | | |-- addExp
|
|
| | | | | | `-- mulExp
|
|
| | | | | | `-- unaryExp
|
|
| | | | | | `-- primaryExp
|
|
| | | | | | `-- lVal
|
|
| | | | | | `-- Ident: b
|
|
| | | | | |-- AddOp: +
|
|
| | | | | `-- mulExp
|
|
| | | | | `-- unaryExp
|
|
| | | | | `-- primaryExp
|
|
| | | | | `-- lVal
|
|
| | | | | `-- Ident: a
|
|
| | | | |-- SubOp: -
|
|
| | | | `-- mulExp
|
|
| | | | `-- unaryExp
|
|
| | | | `-- primaryExp
|
|
| | | | `-- number
|
|
| | | | `-- IntConst: 97
|
|
| | | `-- Semi: ;
|
|
| | |-- blockItem
|
|
| | | `-- stmt
|
|
| | | |-- lVal
|
|
| | | | `-- Ident: b
|
|
| | | |-- Assign: =
|
|
| | | |-- exp
|
|
| | | | `-- addExp
|
|
| | | | `-- mulExp
|
|
| | | | |-- mulExp
|
|
| | | | | `-- unaryExp
|
|
| | | | | `-- primaryExp
|
|
| | | | | |-- L_PAREN: (
|
|
| | | | | |-- exp
|
|
| | | | | | `-- addExp
|
|
| | | | | | |-- addExp
|
|
| | | | | | | `-- mulExp
|
|
| | | | | | | `-- unaryExp
|
|
| | | | | | | `-- primaryExp
|
|
| | | | | | | `-- lVal
|
|
| | | | | | | `-- Ident: b
|
|
| | | | | | |-- SubOp: -
|
|
| | | | | | `-- mulExp
|
|
| | | | | | `-- unaryExp
|
|
| | | | | | `-- primaryExp
|
|
| | | | | | `-- lVal
|
|
| | | | | | `-- Ident: a
|
|
| | | | | `-- R_PAREN: )
|
|
| | | | |-- ModOp: %
|
|
| | | | `-- unaryExp
|
|
| | | | `-- primaryExp
|
|
| | | | `-- number
|
|
| | | | `-- IntConst: 62
|
|
| | | `-- Semi: ;
|
|
| | |-- blockItem
|
|
| | | `-- stmt
|
|
| | | `-- block
|
|
| | | |-- L_BRACE: {
|
|
| | | |-- blockItem
|
|
| | | | `-- stmt
|
|
| | | | |-- Return: return
|
|
| | | | |-- exp
|
|
| | | | | `-- addExp
|
|
| | | | | `-- mulExp
|
|
| | | | | |-- mulExp
|
|
| | | | | | `-- unaryExp
|
|
| | | | | | `-- primaryExp
|
|
| | | | | | |-- L_PAREN: (
|
|
| | | | | | |-- exp
|
|
| | | | | | | `-- addExp
|
|
| | | | | | | |-- addExp
|
|
| | | | | | | | `-- mulExp
|
|
| | | | | | | | `-- unaryExp
|
|
| | | | | | | | `-- primaryExp
|
|
| | | | | | | | `-- lVal
|
|
| | | | | | | | `-- Ident: a
|
|
| | | | | | | |-- AddOp: +
|
|
| | | | | | | `-- mulExp
|
|
| | | | | | | `-- unaryExp
|
|
| | | | | | | `-- primaryExp
|
|
| | | | | | | `-- lVal
|
|
| | | | | | | `-- Ident: b
|
|
| | | | | | `-- R_PAREN: )
|
|
| | | | | |-- ModOp: %
|
|
| | | | | `-- unaryExp
|
|
| | | | | `-- primaryExp
|
|
| | | | | `-- number
|
|
| | | | | `-- IntConst: 17
|
|
| | | | `-- Semi: ;
|
|
| | | `-- R_BRACE: }
|
|
| | |-- blockItem
|
|
| | | `-- stmt
|
|
| | | |-- Return: return
|
|
| | | |-- exp
|
|
| | | | `-- addExp
|
|
| | | | `-- mulExp
|
|
| | | | |-- mulExp
|
|
| | | | | `-- unaryExp
|
|
| | | | | `-- primaryExp
|
|
| | | | | |-- L_PAREN: (
|
|
| | | | | |-- exp
|
|
| | | | | | `-- addExp
|
|
| | | | | | |-- addExp
|
|
| | | | | | | `-- mulExp
|
|
| | | | | | | `-- unaryExp
|
|
| | | | | | | `-- primaryExp
|
|
| | | | | | | `-- lVal
|
|
| | | | | | | `-- Ident: a
|
|
| | | | | | |-- AddOp: +
|
|
| | | | | | `-- mulExp
|
|
| | | | | | `-- unaryExp
|
|
| | | | | | `-- primaryExp
|
|
| | | | | | `-- lVal
|
|
| | | | | | `-- Ident: b
|
|
| | | | | `-- R_PAREN: )
|
|
| | | | |-- ModOp: %
|
|
| | | | `-- unaryExp
|
|
| | | | `-- primaryExp
|
|
| | | | `-- number
|
|
| | | | `-- IntConst: 13
|
|
| | | `-- Semi: ;
|
|
| | `-- R_BRACE: }
|
|
| |-- blockItem
|
|
| | `-- stmt
|
|
| | |-- lVal
|
|
| | | `-- Ident: a
|
|
| | |-- Assign: =
|
|
| | |-- exp
|
|
| | | `-- addExp
|
|
| | | `-- mulExp
|
|
| | | |-- mulExp
|
|
| | | | `-- unaryExp
|
|
| | | | `-- primaryExp
|
|
| | | | |-- L_PAREN: (
|
|
| | | | |-- exp
|
|
| | | | | `-- addExp
|
|
| | | | | `-- mulExp
|
|
| | | | | |-- mulExp
|
|
| | | | | | `-- unaryExp
|
|
| | | | | | `-- primaryExp
|
|
| | | | | | `-- lVal
|
|
| | | | | | `-- Ident: b
|
|
| | | | | |-- MulOp: *
|
|
| | | | | `-- unaryExp
|
|
| | | | | `-- primaryExp
|
|
| | | | | `-- lVal
|
|
| | | | | `-- Ident: a
|
|
| | | | `-- R_PAREN: )
|
|
| | | |-- ModOp: %
|
|
| | | `-- unaryExp
|
|
| | | `-- primaryExp
|
|
| | | `-- number
|
|
| | | `-- IntConst: 83
|
|
| | `-- Semi: ;
|
|
| |-- blockItem
|
|
| | `-- stmt
|
|
| | |-- lVal
|
|
| | | `-- Ident: b
|
|
| | |-- Assign: =
|
|
| | |-- exp
|
|
| | | `-- addExp
|
|
| | | |-- addExp
|
|
| | | | |-- addExp
|
|
| | | | | `-- mulExp
|
|
| | | | | `-- unaryExp
|
|
| | | | | `-- primaryExp
|
|
| | | | | `-- lVal
|
|
| | | | | `-- Ident: a
|
|
| | | | |-- AddOp: +
|
|
| | | | `-- mulExp
|
|
| | | | `-- unaryExp
|
|
| | | | `-- primaryExp
|
|
| | | | `-- lVal
|
|
| | | | `-- Ident: b
|
|
| | | |-- SubOp: -
|
|
| | | `-- mulExp
|
|
| | | `-- unaryExp
|
|
| | | `-- primaryExp
|
|
| | | `-- number
|
|
| | | `-- IntConst: 771
|
|
| | `-- Semi: ;
|
|
| |-- blockItem
|
|
| | `-- stmt
|
|
| | |-- Return: return
|
|
| | |-- exp
|
|
| | | `-- addExp
|
|
| | | `-- mulExp
|
|
| | | |-- mulExp
|
|
| | | | `-- unaryExp
|
|
| | | | `-- primaryExp
|
|
| | | | |-- L_PAREN: (
|
|
| | | | |-- exp
|
|
| | | | | `-- addExp
|
|
| | | | | |-- addExp
|
|
| | | | | | `-- mulExp
|
|
| | | | | | `-- unaryExp
|
|
| | | | | | `-- primaryExp
|
|
| | | | | | `-- lVal
|
|
| | | | | | `-- Ident: a
|
|
| | | | | |-- AddOp: +
|
|
| | | | | `-- mulExp
|
|
| | | | | `-- unaryExp
|
|
| | | | | `-- primaryExp
|
|
| | | | | `-- lVal
|
|
| | | | | `-- Ident: b
|
|
| | | | `-- R_PAREN: )
|
|
| | | |-- ModOp: %
|
|
| | | `-- unaryExp
|
|
| | | `-- primaryExp
|
|
| | | `-- number
|
|
| | | `-- IntConst: 11
|
|
| | `-- Semi: ;
|
|
| `-- R_BRACE: }
|
|
`-- EOF: <EOF>
|