尝试在Eclipse Kepler Release中查看由ANTLR4生成的方法内部的解析树的特定部分。例如,ANTLR为创建的名为FunctionDefinition的语法规则生成“进入/退出”方法。
在FunctionDefinition方法中,我能够从上下文中的子节点获取文本。有没有办法通过插件等以图形方式表示此上下文及其子节点?
答案 0 :(得分:1)
解析器返回的FunctionDefinitionContext
对象扩展RuleContext
,因此您可以在对象上调用inspect()
以图形方式查看结果。
FunctionDefinitionContext ctx = parser.functionDefinition();
Future<JDialog> futureDialog = ctx.inspect(Arrays.asList(parser.getRuleNames()));
// wait for the dialog to close (if you want)
Utils.waitForClose(futureDialog.get());