BNFC 定义布尔令牌

BNFC to Define Boolean Token

我正在尝试使用 BNF 转换器编写解析器。我使用的语法允许 a ::= trueb ::= false 之类的东西。所以我正在尝试创建一个令牌来完成此操作。这是我目前所拥有的:

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

我希望这样使用它:

Exp ::= BVAL "||" BVAL

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

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

根据 BNFC reference manual,在 token 规则中编写字符序列的方式是 {"true"} 而不是 "true"。 (请参阅第 5 页的第 5.1 节 "The token rule"。)