Bison Lex/Flex-扫描EOF字符

Bison Lex/Flex-扫描EOF字符,bison,yacc,lex,flex-lexer,Bison,Yacc,Lex,Flex Lexer,其他人遇到了我遇到的以下问题,但我找不到任何人报告解决方案。。让Flex发现EOF(文件末尾)。我需要Flex找到EOF并返回一个标记,表明它已经找到了它,这样它就可以告诉Yacc/Bison它已经到达了输入源文件的末尾,并且可以报告成功的解析 注意,这与本文不同,因为这是关于Lex/Flex的 任何帮助都会很棒。谢谢。Flex 仅匹配文件结尾的模式。 可能您可以向解析器返回一些表示文件结束的标记 如下所示 <<EOF>> return END_OF_FILE;

其他人遇到了我遇到的以下问题,但我找不到任何人报告解决方案。。让Flex发现EOF(文件末尾)。我需要Flex找到EOF并返回一个标记,表明它已经找到了它,这样它就可以告诉Yacc/Bison它已经到达了输入源文件的末尾,并且可以报告成功的解析

注意,这与本文不同,因为这是关于Lex/Flex的

任何帮助都会很棒。谢谢。

Flex 仅匹配文件结尾的模式。 可能您可以向解析器返回一些表示文件结束的标记 如下所示

<<EOF>>     return END_OF_FILE;
返回\u文件的结束\u;

这里有问题。你通常不需要这样做。只要在语法中写一个目标符号,就可以了。@EJP:你能举个小例子吗?我是Flex/Bison的新手。如何作为一个简单的语法规则实现这一点?Thankyou@EJP,从实际键盘输入时,Ctrl-Z会传递给程序,导致语法错误。我无法使用/x1a之类的东西捕捉到它,但它可以工作。