2011-02-01 11 views
0

私はCFGで作業して以来、しばらくしていました。とにかく、私はすべての演算を適切に処理する特定の文法を持っていますが、最後には(私は他の標準的な演算を除外しています)。CFG演算の優先順位/あいまいさ

S :: = S + T | S-T | T

T :: = nonterminal | ID | -S | (S)

私が持っているすべてのもの...私は、-Sが-Tであるべきことを知っています。しかしそれに加えて..それは優先順位に何をするのですか?あいまいですか?数学的には私は明らかに正しいとは言えませんが、あいまいさの問題に違いはありません。

-Tの場合は、(S)と同じ優先順位ですか?

これは実際にどのようにして開始状態にループバックするのかを理解しようとしています。

答えて

0

-Sを-Tに変更すると、あいまいさが解決されます。 変更する前に、あいまいな文の例を以下に示します。-a-b。それは - (a-b)か(-a)-bか?

ただし、これ以上の変更はありません。

具体的な例では、-Tと(S)の間にルールが存在する必要はありません。これは、常に優先順位を持つ内部のものであるため、期待通りの動作です。

関連する問題