yylex()
不会看到EOF,所以不会跳出调用它的函数
我是词法分析的新手,正在尝试为给定的语法制作分析器。我已设置好所有内容,并且语法检查有效。但是当
yylex()
到达字符串的末尾时,它就停在那里。前任。对于 1000 个单词:
%%
<<EOF>> printf("Mojo");
%%
int symbol;
int text();
int main(void)
{
text();
printf("All done, EOF?: %i\n",42); //edited 42 (symbol formerly)
}
int text()
{
symbol = yylex();
}
编辑:更简单:
void text()
{
yylex();
}
我启动它,写“abc”,返回“abc”。但是
printf()
函数没有任何内容 - 无论是 rule 还是 main。这可能是一些新手错误。