假设Statement
是抽象类,用于表示各种程序语句,例如WhileStatement
,BlockStatement
,VarDeclaration
和Incrementor
。同样,Expression
可以用Binary
实例化。
现在给出以下代码段
int a = 3;
while (a < 10)
{
while(a != 5)
{
a++;
}
a++;
}
如何使用jdt构建上面为AST定义的数据结构。具体来说,第一个语句将是VarDeclaration
的对象,第二个语句将是WhileStatement
的对象,其条件为Binary
,主体为BlockStatement
的主体由另一个{ {1}}和WhileStatement
。
此自定义表示形式将用于一些随时可用的下游分析。