2013-03-02 2 views
6

クラスのあいまいさについて学習しています。あいまいな文法の例として、次の文法を挙げました。私はちょうどそれがあいまいである方法を見ていない。あいまいさを判断するために人々が使用する設定パターンや方法がありますか、それとも文法のあいまいな文章を見つけるために組み合わせを行う必要があるロジックパズルのようなものでしょうか?私がオンラインで読んだ例は、あくまでもあいまいな文を主として与えていますが、最初にその文をどのように見つけますか?助けていただければ幸いです。ありがとうございます。一般的に文法のあいまい性を判断する方法が設定されていますか?

< stmt_list> ==> < stmt> 

       | < stmt> ; < stmt_list> 

< var> ==> A | B | C 

< stmt> ==> < var> + < var> 

       | < var> - < var> 

       | < var> 
+0

私は自分の答えを間違えてしまったのですが、なぜ私はあなたに現在の文法を取り除いているのかはあいまいではありません。 –

+0

@GrijeshChauhanわかりました。ありがとうございました。私たちの教授がこれはあいまいであると私たちに言ったので、これは非常に混乱しています。 –

+0

しかし、あなたの文法は数式表現の目的にとっても正しくありません:(正しい例についてはこの例をご覧くださいhttp://stackoverflow.com/questions/14554752/how-can-i-add-parentheses-as-the-highest-level簡単な文法の優先順位/ 14569166#14569166 –

答えて

2

determining whether a grammar is ambiguous or not is undecidable.そうです、文法にあいまいな文を見つけることは非常に困難なロジックパズルに減少します。特定のケースを解決しヒューリスティックを見つけることは、研究の積極的な領域です。あいまいさを見つけるのにかなり良いツールがあります:http://www.brics.dk/grammar/。このウェブページには、それがどのように機能するかを説明する論文へのリンクが含まれていますが、正直なところ、それは私の頭の中にあります。

関連する問題