我有一个使用Flex(Lexical Analyzer)的简单“语言”,就像这样:
/* Just like UNIX wc */
%{
int chars = 0;
int words = 0;
int lines = 0;
%}
%%
[a-zA-Z]+ { words++; chars += strlen(yytext); }
\n { chars++; lines++; }
. { chars++; }
%%
int main()
{
yylex();
printf("%8d%8d%8d\n", lines, words, chars);
}
我运行flex count.l
,一切正常,没有错误或警告,然后当我尝试执行时,cc lex.yy.c
出现以下错误:
Ubuntu的@ EeePC的:〜/桌面$ CC的lex.yy.c
/tmp/ccwwkhvq.o:在函数yylex': lex.yy.c:(.text+0x402): undefined reference to
yywrap '
/tmp/ccwwkhvq.o:在函数input': lex.yy.c:(.text+0xe25): undefined reference to
yywrap'
collect2:LD返回1个退出状态
怎么了?