野牛可重入解析器,起始行 # 不是 1

发布于 2024-12-05 15:53:55 字数 273 浏览 1 评论 0原文

我正在寻找带有可重入选项的 bison+flex 解析器。解析器在调用 yylex_init(&scanner) 的函数中启动,其中 scanneryyscan_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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

情深缘浅 2024-12-12 15:53:55

您可以使用yyset_lineno(int line_number, yyscan_tscanner)设置当前行号。

You can use yyset_lineno(int line_number, yyscan_t scanner) to set the current line number.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文