我正在Flex / Bison中编写一个简单的计算器,当我尝试编译我的flex代码时,我不断收到EOF错误。谁能告诉我为什么或如何解决它?谢谢!
%{
#define YYSTYPE double
#include "calc.tab.h"
#include <stdlib.h>
%}
white [ \t]+
digit [0-9]
integer {digit}+
exponent [eE][+-]?{integer}
real {integer}("."{integer})?{exponent}?
%%
{white} { }
{real} { yylval=atof(yytext);
return NUMBER;
}
"+" return PLUS;
"-" return MINUS;
"*" return TIMES;
"/" return DIVIDE;
"^" return POWER;
"(" return LEFT;
")" return RIGHT;
"\n" return END;
答案 0 :(得分:1)
你的标题不正确,应该是这样的
%{
#include <stdlib.h>
#include "calc.tab.h"
#define YYSTYPE double
%}