0

我正在尝试使用 BNF 转换器编写解析器。我正在使用的语法允许使用a ::= trueand之类的东西b ::= false。所以我正在尝试创建一个令牌来实现这一点。这是我到目前为止所拥有的:

token BVAL ("true"|"false");

我希望像这样使用它:

Exp ::= BVAL "||" BVAL

当我尝试运行 BNFC 时,出现以下错误:

user error (syntax error at line 1 before true | false ))
4

1 回答 1

1

根据BNFC 参考手册token,例如,您在规则中编写字符序列的方式是,{"true"}而不是"true". (参见token第 5 页第 5.1 节“规则”。)

于 2016-03-20T04:54:19.160 回答