最佳答案
我有一个简单的“语言”,我正在使用 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: ~/Desktop $cc lex.yy.c
/tmp/ccwwkhvq.o: 在函数 < code > yylex’中: C: (. text + 0 x402) : 对 yywra’< br/> 的未定义引用 /tmp/ccwwkhvq.o: 在函数 < code > input’: C: (. text + 0 xe25) : 对 yywra’< br/> 的未定义引用 Collect2: ld 返回1退出状态
怎么了?