私が作成しているいくつかのコンパイラの文法を実行する必要があります: 二項演算子&&
と||
単項演算子#
で*
、次のような方法で:
I)
II||
よりも優先されるもの: a && b && c は ((a&&b)&&c)を左に結合します。
III)右に結合します
IV) 単項演算子は同等の優先順位を持ち、2 項演算子よりも多くなります。&&
&&
||
私は次のようなことを考えていました:
E -> E || T | E && T | T
T -> T # F | T * F
F -> (E) | Numbers
Numbers -> 0 | 1 | 2 | 3 | ... | 9
それは間違っているでしょうか?何か案は ?