我正在使用可重入选项查看bison + flex解析器。解析器在调用yylex_init(&scanner)
的函数中启动,其中scanner
是yyscan_t
。 %locations
已启用。
此解析器用于解析在其他文件中间找到的嵌入式脚本。因此,行号不是从1开始。
但是,在重入解析器中,当前行号隐藏在不透明yyscan_t
中,我没有看到一种干净的设置方式。我希望我遗失一些东西。
答案 0 :(得分:3)
您可以使用yyset_lineno(int line_number, yyscan_t scanner)
设置当前行号。