BNFC定义布尔令牌

时间:2016-03-20 04:36:20

标签: grammar bnfc

我正在尝试使用BNF Converter编写解析器。我使用的语法允许a ::= trueb ::= false之类的内容。所以我正在尝试创建一个令牌来实现这一目标。这就是我到目前为止所做的:

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

我希望像这样使用它:

Exp ::= BVAL "||" BVAL

当我尝试运行BNFC时,我收到以下错误:

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

1 个答案:

答案 0 :(得分:1)

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