我正在编写C ++布尔表达式的描述。这就是我到目前为止所拥有的
<expr> -> <expr> && <term>
| <term>
<term> -> <factor> || <term>
| <factor>
<factor> -> (<expr>)
| <id>
| !<factor>
我需要证明变量,布尔常量,整数常量和浮点常量都允许作为我的BNF中的操作数。我的问题是,我该怎么做?
我的第一个想法是做一些像INT_LIT |这样的事情VAR_LIT | FLO_LIT | BOOL_LIT,但我对此主题的理解非常缺乏。
另外,我的理解是,用简单的英语,这个BNF说:
表达式和术语可以是表达式或表达式和术语
因子或术语或因子或因子可以是术语
我完全离开了吗?