ステートメントが定義されている文法を考慮して、ステートメントのあいまいさを検出することになっている宿題があります。
例:
Grammar: S -> S + S | S * S | id
Statement: id * id + id
2 つの解析ツリーが可能であるため、上記のステートメントはあいまいです。
私は今のところ、次の曖昧さを念頭に置いています。
1) 演算子の優先順位 (上記の例) 2) If-else ぶら下がりケース 3) 無限ループ (上記の例は左再帰) 4) 結合性
どれが実行可能か、さらに教えていただけますか?
lex と bison (yacc) を使用してこのパーサーを設計し、2 日以内に提出する必要があるため、文法とステートメントのあいまいさについてポインタがあれば役立ちます。