【发布时间】:2012-05-08 06:00:01
【问题描述】:
我对 Flex 非常陌生,而且我被困在这个早期阶段。我有一个 Lex 文件 20.l,其内容是
%{
/* a Lex program that adds line numbers
to lines of text, printing the new text
to the standard output
*/
#include <stdio.h>
int lineno = 1;
%}
line .*\n
%%
{line} { printf("%5d %s", lineno++, yytext); }
%%
main()
{ yylex(); return 0; }
我从教科书中复制了代码(它没有告诉我如何在这里处理我的问题)。我已经完成了
flex 20.l
得到文件 lex.yy.c。然后我用
编译它gcc lex.yy.c -o ADD -lfl
并得到可执行文件ADD。
现在如何使用此 ADD 将行号添加到其他文本文件?例如,如果输入文件名为“try.c”,我应该使用什么命令?我试过“./ADD try.c”,但显然没有用。以及输出是如何表示的?
谢谢。我知道这确实是一个愚蠢的问题,但似乎没有人在网上教如何做到这一点......
【问题讨论】:
标签: compiler-construction yacc lex flex-lexer