【发布时间】:2013-12-09 15:24:45
【问题描述】:
所以我正在尝试使用 lex 实用程序编译这个 .l 文件,但它一直给我错误消息:
lex new_grammar.l “new_grammar.l”:第 15 行:错误:%} 之前的 EOF
我真的不明白我做错了什么,也许另一双眼睛会看到我犯了什么错误。任何帮助将不胜感激,谢谢。
%{
#include "y.tab.h"
%}
%%
"print" {return print;}
"exit" {return exit_command;}
[a-zA-Z] {yylval.id = yytext[0]; return identifier;}
[0-9]+ {yylval.num = atoi(yytext); return number;}
[ \t\n] ;
[-+=;] {return yytext[0];}
. {ECHO; yyerror("unexpected character");}
%%
int yywrap (void) {return 1;}
【问题讨论】:
-
我在你粘贴的内容上运行了 lex,它没有抱怨。
-
您是否包含任何选项?比如 -d 或 -l
-
不。只需 lex file.l 版本:flex 2.5.35 Apple(flex-31)
-
啊,尤里卡!我需要以 flex new_grammar.l 运行它