2014-02-10 59 views
0

我在Flex/Bison中編寫了一個簡單的計算器,當我嘗試編譯我的flex代碼時,我總是收到EOF錯誤。任何人都可以告訴我爲什麼或如何解決它?謝謝!EOF Flex計算器

%{ 
#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; 
+1

什麼是精確的錯誤信息,在什麼時候它出現? – rici

+0

你應該在你自己的之前包括標準頭,而不是之後。 – EJP

回答

1

你的頭incorrectn,它應該是這樣的

%{ 
    #include <stdlib.h> 
    #include "calc.tab.h" 
    #define YYSTYPE double 
%}