Lex:打印行号
我有源代码,我想添加行号。
我所做的:
%{
int lines=0;
%}
LINE \n
%%
{LINE} {ECHO;printf("%d", ++lines);}
但是,我不知道如何抓住第一行。 你能帮助我吗 ?
I have a source code and I would like to add line numbers.
What I've done :
%{
int lines=0;
%}
LINE \n
%%
{LINE} {ECHO;printf("%d", ++lines);}
However, I don't know how to catch the first line.
Can you help me ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
添加行:
作为 main 中的第一件事。这是一种黑客,但很有效:)
编辑:结果应该如下所示:
免责声明:语法来自书本,未实际编译。你可能需要稍微按摩一下。
Add the line:
as the first thing in main. Its a hack, but an effective one :)
Edit: The result should look something like this:
Disclaimer: syntax from a book, not actually compiled. You might have to massage it a little bit.
试试这个:
Try this:
检查您的版本是否提供了名为“yylineno”的变量,很多版本都提供了。
我知道 flex 2.6.0 可以。
Check to see if your version provides a variable named "yylineno", many of them do.
I know flex 2.6.0 does.