首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在ANTLR3 TreeParser中获取行号

如何在ANTLR3 TreeParser中获取行号
EN

Stack Overflow用户
提问于 2011-01-08 05:49:32
回答 2查看 1.3K关注 0票数 3

我正在尝试获取ANTLR3树语法中的行号(由ANTLR3生成的代码属于TreeParser类)。

谷歌只为ANTLR2找到了解决方案,遗憾的是,这些解决方案在ANTLR3中不起作用。

为了清楚起见,我尝试访问.g文件本身中的行号。

我想我必须重写一个方法或扩展一个类,我只是不知道是哪一个。

提前使用tnx

编辑:我应该指出我使用的是java api

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-08 08:25:53

看起来我在寻找一条很远的路。要在.g文件中访问树语法中规则的行号,只需请求token.getLine();(它在内部是一个CommonTree )

举个例子

赋值: ID '=‘表达式{int line = $ID.getLine()};// $ID类型为CommonTree

票数 3
EN

Stack Overflow用户

发布于 2011-01-08 07:11:15

antlr3.Token类及其子类antlr3.ClassicTokenantlr3.CommonToken

似乎提供了a deprecated function def getLine ( self )和一个成员line

我不知道您是如何使用antlr3.TreeParser的,但我想您有权访问这些令牌。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4630618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档