2016-10-25 173 views
0

當我試圖用做關鍵字它給我的錯誤編譯:文件法過早結束

premature end of file in lex.l file in line no 17.

%option noyywrap 
%{ 
    #include "grammer.tab.h" 
%} 
name  ([0-9]) 
whitespace [ \r\t\v\f] 
linefeed \n 
%% 
{name}   { return NAME; } 
":"   { return COLON; } 
"->"   { return RIGHT_ARROW; } 
"{"   { return LEFT_BRACE;} 
"}"   { return RIGHT_BRACE;} 
";"   { return SEMICOLON;} 
{whitespace} 
{linefeed}  ++yylineno; 
%% 

所以有人好心幫我。

enter image description here

錯誤: -

This is the error that the is shown

尾巴: - enter image description here

+0

這個文件是什麼樣子的? –

+0

當我編譯make文件時出現這個錯誤 –

+0

是的,是的。但是說你有一個錯誤,並要求修復它不適合堆棧溢出。如果你可以提供錯誤或Makefile,這將會更有用。 –

回答

0

你通常從法(或彎曲)時,最後一行沒有被終止的得到這個錯誤新隊。

要解決該錯誤,只需在文件的末尾放置一個空行。

(同樣也是YACC /野牛真)

我也注意到你有圖案{whitespace}缺少的作用。我建議你可以試試:

{whitespace}   ; /* No action */ 
%% 
/* End of the file */ 
+0

即使這樣,它仍然無法正常工作。 –

+0

仍然給出相同的錯誤。 –

+0

我已經上傳了錯誤圖片,請檢查並請告訴代碼中的錯誤 –