Lex filename.l:16:在操作中遇到EOF
我有一个像这样的lex文件Lex filename.l:16:在操作中遇到EOF,lex,Lex,我有一个像这样的lex文件 %{ #include "y.tab.h" %} %% "print" {return print;} "exit" {return exit_command;} [a-zA-Z] {yylval.id = atoi(yytext); return identifier;} [0-9]+ {yylval.num = atoi(yytext);} return nu
%{
#include "y.tab.h"
%}
%%
"print" {return print;}
"exit" {return exit_command;}
[a-zA-Z] {yylval.id = atoi(yytext); return identifier;}
[0-9]+ {yylval.num = atoi(yytext);} return number;}
[ \t\n] ;
[-+=;] {return yytext[0];}
. {ECHO; yyerror("unexpected charater");}
%%
int yywrap(void){return 1;}
但是当我尝试运行lex filename.l时我得到以下错误
filename.l:16: EOF encountered inside an action
有人能看到任何错误吗?您的数字模式(
[0-9]+
)在其操作中有一个额外的}
,这让人困惑(对于flex
),也让人困惑)。谢谢您帮我找出了它