Parsing 布尔表达式语法的有效性

Parsing 布尔表达式语法的有效性,parsing,grammar,Parsing,Grammar,此语法用于解析布尔表达式正确吗 ident = true | false bxpr = ident and bxpr | ident or bxpr | not bxpr | ( bxpr ) | ident 到目前为止,它[使用scala解析器]解析了我的大多数测试用例。我看到许多语法使用术语和因素来创建语法试着将其作为测试用例:(true)和true。注:ident是一个奇怪的名称,它只能是true或false。标识符通常是任意名称true或false更适合称为布尔文字、常量或原子。大多

此语法用于解析布尔表达式正确吗

ident = true | false
bxpr  = ident and bxpr | ident or bxpr | not bxpr | ( bxpr ) | ident

到目前为止,它[使用scala解析器]解析了我的大多数测试用例。我看到许多语法使用术语和因素来创建语法

试着将其作为测试用例:
(true)和true
。注:
ident
是一个奇怪的名称,它只能是
true
false
。标识符通常是任意名称
true
false
更适合称为布尔文字、常量或原子。大多数人使用不同的非终结符的原因是
a和b或不是a和b
意味着
(a和b)或((不是a)和(不是b))
。你可能想看看你的语法是如何处理的,然后决定这是否是(你)/(你认识的人)所期望的。