这是我的 bnf 语法的一部分。
//this works
<ter-stmnt> ::= <rval> '?' <rval> ':' <rval>
//this gets an error
<ter-stmnt> ::= <bool-val> '?' <rval> ':' <rval>
<bool-val> ::= <rval>
这看起来很疯狂,第二个不应该与第一个完全相同吗?我在阅读时更喜欢第二个 bc,我发现我期望一个 bool 值与通用的 rval 相反,这可能意味着任何事情。
我正在使用黄金解析器 3.4.4