我试图在ANTLR3树语法中获得行号(由ANTLR3生成的代码属于TreeParser类).
google只找到了ANTLR2的解决方案,可惜在ANTLR3中不起作用.
澄清一下,我正在尝试访问.g文件本身中的行号.
我想我必须覆盖一种方法或扩展一个类,我只是不知道哪个.
提前发送
编辑:我应该指出我正在使用Java API
解决方法:
看来我在寻找远方.要在.g文件中访问树语法中规则的行号,只需询问token.getLine();即可. (内部是CommonTree)
例如
分配:ID’=’表达式{int line = $ID.getLine()}; // $ID为CommonTree类型