flex-lexer – 未定义参考到yywrap
发布时间:2020-12-15 02:04:18 所属栏目:百科 来源:网络整理
导读:我有一个简单的“语言”,我使用Flex(词法分析器),它是这样的: /* 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();
我有一个简单的“语言”,我使用Flex(词法分析器),它是这样的:
/* 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%8dn",lines,words,chars); } 我运行flex count.l,一切正常,没有错误或警告,然后当我尝试做一个cc lex.yy.c我得到这个错误:
哪里不对? 解决方法
扫描器在文件结束时调用此函数,因此可以将其指向另一个文件并继续扫描其内容。如果你不需要这个,使用
%option noyywrap 或链接到-lfl以使用库fl中的默认yywrap()函数。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |