如何让Flex扫描仪返回Bison';什么是错误标记?

如何让Flex扫描仪返回Bison';什么是错误标记?,bison,flex-lexer,Bison,Flex Lexer,Bison使用一个特殊的错误标记(称为“error”),可以在Bison解析器中使用它来从错误中恢复。有没有办法从Flex生成的扫描仪返回此特定令牌?此“错误”令牌实际上不是令牌。它仅用于错误处理 在上,您可以阅读:令牌名称错误是为错误处理保留的,不应简单地使用 在我自己的解析器中,我使用如下错误标记(用于解析类似C的宏语言: StatementList : | StatementList Statement ';' | erro

Bison使用一个特殊的错误标记(称为“error”),可以在Bison解析器中使用它来从错误中恢复。有没有办法从Flex生成的扫描仪返回此特定令牌?

此“错误”令牌实际上不是令牌。它仅用于错误处理

在上,您可以阅读:令牌名称错误是为错误处理保留的,不应简单地使用

在我自己的解析器中,我使用如下错误标记(用于解析类似C的宏语言:

StatementList  :
               |  StatementList Statement ';'
               |  error ';'

如果用户出错,yacc/bison将一直执行到下一个分号(语句末尾),然后继续执行下一个语句。

错误标记不是真正的标记。它仅用于错误处理

在上,您可以阅读:令牌名称错误是为错误处理保留的,不应简单地使用

在我自己的解析器中,我使用如下错误标记(用于解析类似C的宏语言:

StatementList  :
               |  StatementList Statement ';'
               |  error ';'

如果用户出错,yacc/bison将一直执行到下一个分号(语句末尾),然后继续执行下一个语句。

谢谢。我意识到我真正想要的是拒绝。谢谢。我意识到我真正想要的是拒绝。