>> ZG·言語学習 >  >> 言語リソースとツール >> オンライン辞書と文法

5.2次の文法をチョムスキーの通常の形に変換します。 S-0S1S S-1SOS S-01100011?

文法をチョムスキーノーマルフォーム(CNF)に変換する方法は次のとおりです。

1。 εプロダクション(空の文字列を生成するプロダクション)を排除します:

この文法にはε生産はないので、このステップをスキップします。

2。ユニットプロダクションを排除する(フォームA→Bのプロダクション、AとBは非末端です):

この文法には、ユニットプロダクションもありません。

3。すべてのプロダクションを右側に3つ以上の記号で変換します:

制作を分解するには、新しい非ターミナルを導入する必要があります。

* s→0S1Sの場合:

*新しい非ターミナルを紹介します。「a」と言います。

*プロダクションを置き換えます:

* `s→0a`

* `a→s1s`

* S→1SOS:

*新しい非ターミナルを紹介します。「b」と言います。

*プロダクションを置き換えます:

* `s→1b`

* `b→so`

* s→01100011:

*新しい非ターミナル「C」、 `d`、` e`、 `f`、` g`を紹介します。

*プロダクションを置き換えます:

* `s→0c`

* `c→1d`

* `d→1e`

* `e→0f`

* `f→0g`

* `g→011`

4。すべてのプロダクションを右側に単一のターミナルで変換します:

より多くの非ターミナルを紹介する必要があります:

* g→011の場合:

*新しい非ターミナル「H」と「I」を紹介します。

*プロダクションを置き換えます:

* `g→0h`

* `h→1i`

* `i→1`

結果として生じるCNFの文法:

`` `

S→0a | 1b

A→S1S

B→SO

C→1D

d→1e

E→0F

F→0g

G→0H

H→1I

I→1

`` `

説明:

* CNFルール: すべての作品が形である場合、文法はCNFにあります。

* A→BC(ここで、a、b、およびcは非末端です)

* a→a(aは非末端で、aは端末です)

* 新しい非ターミナル: 元の作品をCNFフォームに分解するために、新しい非ターミナルを導入しました。

* 最終フォーム: 結果として得られる文法は、2つの非ターミナルまたは右側に単一のターミナルを備えたプロダクションのみを使用して、CNF基準を満たしています。

著作権 © ZG·言語学習(www.zongjiefanwen.com) 無断複写・転載を禁じます。