我有一个解析器语法和词法分析器语法,ANTLR4 4.7可以从中生成解析器和词法分析器,没问题。监听器逻辑中的入口点非常好,但我想听一听该语言中的特定关键字。 不知道从哪里开始添加。
我正在使用Eclipse的ANTLR4插件从语法中生成解析器和词法分析器。
答案 0 :(得分:0)
在生成的xyzBaseListener
的底部,您可以覆盖4种非特定方法以满足您的需求:
@Override public void enterEveryRule(ParserRuleContext ctx) { }
@Override public void exitEveryRule(ParserRuleContext ctx) { }
@Override public void visitTerminal(TerminalNode node) { }
@Override public void visitErrorNode(ErrorNode node) { }
e.g。
public class Tester extends xyzBaseListener
{
// ... other useful stuff
@Override public void visitTerminal(TerminalNode node) {
System.out.println("Saw token '" + node.getText() + "'");
}
}
参考书中有关于如何子类化基本监听器并连接监听器的示例。