野牛可重入解析器,起始行 # 不是 1
我正在寻找带有可重入选项的 bison+flex 解析器。解析器在调用 yylex_init(&scanner) 的函数中启动,其中 scanner
是 yyscan_t
。 %locations
已打开。
该解析器用于解析在其他文件中间找到的嵌入脚本。因此,行号不是从 1 开始的。
但是,在可重入解析器中,当前行号被隐藏在不透明的 yyscan_t 中,并且我没有看到一种干净的设置方法。我希望我错过了一些东西。
I'm looking at a bison+flex parser with the reentrant option. The parser is started up in a function that calls yylex_init(&scanner)
where scanner
is a yyscan_t
. %locations
is turned on.
This parser is used to parse embedded scripts found in the middle of other files. So, the line number does not start from 1.
However, in the reentrant parser, the current line number is buried in the opaque yyscan_t
, and I am not seeing a clean way to set up. I am hoping that I am missing something.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用
yyset_lineno(int line_number, yyscan_tscanner)
设置当前行号。You can use
yyset_lineno(int line_number, yyscan_t scanner)
to set the current line number.