1、抽象语法树
抽象语法树,AST,Abstract syntax tree
AST节点表示像语句(Statements)和表达式(Expressions)这样的元素
2、语句类
3、表达式类
3.1 字面量
顶级父类Literal
| 代码示例 | 抽象整体 |
|---|---|
| true | BooleanLiteral |
| 23 | IntegerLiteral |
| ‘a’ | CharacterLiteral |
| “Hello” | StringLiteral |
| null | NullLiteral |
可以通过调用成员谓词getLiteral来获取字面量的值
string Literal::getLiteral()
3.2 一元表达式
3.3 二元表达式
3.4 赋值表达式
Assignment expression
3.5 访问
Access
| 代码示例 | 抽象整体 |
|---|---|
| x | VarAccess |
| e.f | VarAccess |
| a[i] | ArrayAccess |
| f(…) | MethodAccess |
| e.m(…) | MethodAccess |
杂项
| 代码样例 | 抽象整体 |
|---|---|
| (int) f | CastExpr |
| new A() | ClassInstanceExpr |
| @Annot(key=val) | Annotation |
