0
私はifとelse-ifのすべての条件式を取得するJavaの言語解析ツールを構築しています。ANTLR Java文法を使用してIF条件で各条件をトラバースする方法
したがって、私は書き込んで、enterStatement()をオーバーライドしました。
public void enterStatement(@NotNull apexParser.StatementContext ctx) {
if(ctx.IF() != null) {
// System.out.println(ctx.IF().getSourceInterval());
TokenStream tokens = parser.getTokenStream();
System.out.println(tokens.getText(ctx.IF().getSourceInterval()));
System.out.println(parser.getTokenStream().getText(ctx));
//System.out.println(ctx.IF().getText());
//System.out.println(ctx.toStringTree(parser));
//System.out.println(ctx.IF().getSymbol().getText());
}
}
ここで使用されている各条件のトラバース方法はわかりません。
例: 場合(> 1 & & B < 0)
はちょうど私が条件ツリーをトラバースする方法を知りたいです。:私はANTLRツールで非常に新しくなっています。詳細情報が必要な場合は教えてください。
どのような文法を使っていますか? – Raven