質問

私は私の 事業のアプリケーション 試験はあまり考えないの巻頭ます。

その 通常の文法 はより簡単に、曖昧さを含めることはできませんが、できない多くの作業のために必要なプログラミング言語まで私も理解されて 文脈自由文法 を曖昧さができるとともに必要なプログラミング言語のようpalindromes).

何がうまくとはどのように理解できる上記すべてを知ることによってその 通常の文法nonterminals ですが、簡端子または非終端続端子またはコンテキスト-無料の非終端マップの任意の組み合わせの端末とnonterminals.

で誰か助けてくれすべてのこの相互の関連性を検討した。

役に立ちましたか?

解決

文脈自由文法は、基本的に端末と非端末の任意の組み合わせであるのに対し、

正規文法は、いずれかの右または左線形です。したがって、あなたは、通常の文法は文脈自由文法のサブセットであることを確認することができます。

例えばパリンドロームのために、フォームのものであるので、

S->ABA
A->something
B->something

あなたは明確に回文が、それは右または左のいずれかの直線にする必要があるので、定期的な文法では表現できない、そのように両方の側に非ターミナルを持つことができないことを見ることができます。

正規文法は、非曖昧であるので、文脈自由文法の場合には複数存在することができるのに対し、

、与えられた非終端1つだけ生成規則がある。

他のヒント

私はあなたが様々なポンプlemmataあるについて考えて欲しいものだと思います。正規言語は、有限オートマトンによって認識することができます。文脈自由言語はスタックを必要とし、文脈依存言語は、2つのスタックが必要です(これは完全なチューリングマシンを必要と言うことと同じです。)

ですから、私たちはに、正規言語の反復補題rel="noreferrer"> 、任意の正規言語は、三枚に分けることができることである X Y 、および Z の、言語のすべてのインスタンスがである場合のXY * Z の(* のY ののすなわち、0以上のコピー、クリーネの繰り返しです。)あなたは基本的に拡張することができ、1つの "非終端" を持っています。

さて、どのような文脈自由言語についてはどうですか? 5つに言語の文字列を破るの文脈自由言語の反復補題類似があります部品、 uvxyz の、言語のすべてのインスタンスは、 UV I XY I Z 、iについて≥である場合0今、あなたは限り、あなたは同じ番号のを持っているように、複製、または励起することができます。の2つのの "非終端記号"、の持っています。

特定テーマと文脈自由文法: (N,Σ,P,S):端末nonterminals、作品、開始時の状態に終端記号

●初のシンボルの言語により定義された形式文法

●abc

非終端記号は統語的変数)

●交換をグループの終端記号の生成ルール

●ABC

通常の文法:左右の正規文法 右の正規文法、すべてのルールを遵守し形

  1. B→aがBは非終端NはターミナルΣ
  2. B→aCがユネスコ-アジア文化センターをNとはΣ
  3. B→εランドマークタワーはN εは空の文字列、すなわち文字列の長さが0の

左の正規文法、すべてのルールを遵守し形

  1. A→aでは非終端NはターミナルΣ
  2. A→Baが、B N a∈Σに対して
  3. A→εがあるNおよびεは空の文字列

文脈自由文法(CFG)

○形式文法によって製造ルールは次の形をしていV→w

○V単一の非終端記号

○wは、文字列のターミナル及び/またはnonterminals(wできる空)

正規表現

  • ベースの字句解析
  • を表す正規言語

文脈自由文法

  • ベースの構文解析
  • 表示言語構築によ

enter image description here

の正規文法: - 次のように生産を含むの文法はRGです。

V->TV or VT
V->T

ここで、V =可変とT =ターミナル

RGは中東線形文法リニア文法や右ライナー文法を左ではなく、することができる。

我々は、すべてのRGを知っているように、

リニア文法だけ左リニアまたは右線形文法はRGですされます。

定期的な文法があいまいなことができます。

S->aA|aB
A->a
B->a

のあいまいな文法: - の文字列のための彼らの複数のLMD存在RMDより以上または複数の解析ツリーやワンLMDとワンRMDをxはどちらも異なる解析ツリーを生成します。

                S                   S

              /   \               /   \
             a     A             a     B
                    \                   \
                     a                   a

この文法はあいまいな文法ため2解析ツリーます。

のCFG: - の文法は、その生産は形式である場合CFGであると言われます:

   V->@   where @ belongs to (V+T)*

のDCFL:の - 私たちは、すべてのDCFLを知っているようLL(1)文法とすべてのLLは(1)LR(1)であるので、それが曖昧になることはありませんされています。そうDCFGがあいまいになることはありませんされます。

我々はまた、すべてのRLを知っているので、RLがあいまいになることはありませんDCFLです。 RGがあいまいなことではなく、RLことに注意してください。

のCFL:のCFL月か曖昧ではないかもしれない。

注:のRL本質的に曖昧になることはありません。

すべての生成規則は、フォームを持っている場合、

文法は文脈自由である(すなわち、規則の左側のみ単一の変数であることができる;右側は無制限であり、端末と変数の任意の配列であってもよいです) 。 我々は、マッピングされ各々が、有限のセット(端子)であり、Sは、開始変数であり、そしてRは、ルールの有限集合であり、_、Vは有限集合(変数)である4タプルとして文法を定義することができV
文脈自由文法は、基本的に端末と非端末の任意の組み合わせであるのに対し、定期的な文法は、いずれかの右または左線形です。したがって、我々は定期的な文法は文脈自由文法のサブセットであると言うことができます。 これらのプロパティの後に我々は、無料の言語も設定するコンテキストが設定され正規言語が含まれていると言うことができます。

基本的には定期的な文法は文脈自由文法のサブセットですが、我々はすべての文脈自由文法は正規文法であると言うことはできません。主に文脈自由文法があいまいで、定期的な文法が曖昧であります。

それはどちらか、それは常にすべてがよく、または定期的ではないかもしれない。

scroll top