-1
У меня есть программа lex следующим образом. Я сталкиваюсь ошибкуEOF встречается внутри программы LEX
EOF встречается внутри действия программы LEX
%{
#include<stdio.h>
#include<math.h>
#include "y.tab.h"
%}
%%
[ \t]+ ;
[0-9]+ {yylval = atoi(yytext);
return INTEGER;}
[-+*/] {return *yytext;}
"(" {return *yytext;}
")" {return *yytext;}
\n {return *yytext;}
. {char msg[25];
sprintf(msg,"%s <%s>","invalid character",yytext);
yyerror(msg);}
Может кто-нибудь мне помочь?
Я не вижу ничего плохого в этом файле. Обычно ошибка означает, что у вас отсутствует '}', но в этом случае я скопировал данные из вашего вопроса на свою машину, и flex скомпилировал ее без жалобы. Это точно так же, как ваш файл? – rici