Lex filename.l:16:在操作中遇到EOF

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

我有一个像这样的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 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
),也让人困惑)。

谢谢您帮我找出了它