文法があいまいな場合、各センテンスフォームに正確に1つのハンドルが存在します。

StackOverflow https://stackoverflow.com/questions/4174713

質問

削減できる2つの制作があります。必要に応じて優先順位と協会を与えた後、1つのハンドルのみがあります。

役に立ちましたか?

解決

これは部分的に真実であり、通常、縮小/削減競合は、優先順位を指定するか、パーサービルダーに他のルールより先に適用するルールを選択させることにより解決されます。

これは、競合が解決されることを意味しますが、パーサーが意図したとおりに動作することではありません。紛争の原因となっているものを調べて、解析しようとしているものを表現するために文法のリファクタリングが必要な場合、または自動選択/優先順位が十分であるかどうかを考えるのは便利です。

他のヒント

あいまいなルールを持つ文法がある場合、複数の解釈が得られます。あなたはそれを主張する必要はありません 文法 あいまいさを取り除きます。何かが曖昧であることに同意し、複数の方法を解析することができます。

fruit flies like an arrow.

解決の結果は、複数の解釈です。

今、そのような言語があるために 使える 読者にとって、彼は曖昧さに満足しなければならないか、あなたは彼にそれを解決する方法を与える必要があります。 (例では、私はあなたがそれを解決する方法を与えていないので、あなたが曖昧さを満足していることをあなたのために決めました!)。または、読者に曖昧なパーセンを備えた何かを提供することができます。これは、どの分割が意味をなさないかを選択する方法であり、彼は不適切な分割を拒否します。

私は「フルーツ=>スイカ」を意味することをあなたに伝えることで、上記のケースでそれを行うことができます。

コンピューターの文法は違いはありませんが、ほとんどのプログラマーは曖昧なコードを望んでいません。したがって、一般的に、ランゲージデザイナー お気に入り 明確な文法を定義する。実際には、彼らは成功せず、あなたは「これが曖昧に解釈される可能性があるなら、それを解釈することができるような面白い言語ルールを取得します これ 仕方。"。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top