2

私は「コンパイラ理論」を学んでいます、それはほとんどの言語が「決定性文脈自由文法」を使用したと言います。「文脈依存文法」を使う言語はあるのだろうか?


更新

私は誰かに尋ねました、彼はc++とrubyがいくつかの文脈依存の文法を持っていると言いました。

たとえば、C ++では、次のコードを使用します。

abc();

と呼ばれるメソッドがある場合、abcabc()「このメソッドの呼び出し」を意味します。クラスがある場合class abc{ }、それは「クラスabcのインスタンスを作成する」ことを意味します。

また、ルビーでは、メタプログラミングがあるため、状況依存の文法があります。

彼は正しいですか?

4

1 に答える 1

2

状況依存文法には、文脈で使用されるさまざまな非終端記号に関連して意味を変える記号があります。コンピュータの世界では、パーサーの記述が非常に複雑になるため、これらは非常にまれです。文字列が特定の状況依存文法に属するかどうかの判断は、PSPACEで完了します。

于 2012-11-26T14:50:25.697 に答える