当我尝试使用make关键字编译它时,它给我一个错误:
lex.l文件第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;
%%
所以有人好心帮我。
错误:-
1条答案
按热度按时间w7t8yxp51#
当最后一行没有以换行符终止时,您通常会从lex(或flex)中得到此错误。
要解决此错误,只需在文件末尾添加一个空行。
(The yacc/野牛也是如此)
我还注意到模式
{whitespace}
缺少一个操作。我建议您可以尝试: