如何為上下文無關文法生成語言?


問題

為給定的上下文無關文法生成語言。

S->0S, S-> λ

S-> A0, A->1A, A-> λ

S->000S, S-> λ

解決方案

上下文無關文法 (CFG) 是一種形式文法,用於生成給定形式語言中所有可能的字串模式。

CFG 由四個元組定義

G=(V,T,P,S)

其中,

  • T:終結符集(小寫字母)符號。
  • V:頂點或非終結符(大寫字母)。
  • P:產生式規則。
  • S:開始符號。

示例 1

語法為:

S->0S, S->λ

情況 1 - S->0S

     ->0

情況 2 - S->0S

    ->00S

    ->00

情況 3 - S->0S

   ->00S

   ->000S

   ->000

因此,為給定語法生成的語言為:

L={e,0,00,000……..}

示例 2

語法為:

S-> A0, A->1A, A-> λ

情況 1 - S->A0

    ->0

情況 2 - S->A0

    ->1A0 {A->1A}

    ->10

情況 3 - S->A0

   ->1A0

   -> 11A0

   ->110

因此,基於給定語法的生成語言為:

L={0,10,110,…………….}

示例 3

語法為:

S->000S, S-> λ

情況 1 - S->000S

->000

情況 2 - S->000S

->000000S

->000000

因此,基於給定語法的生成語言為:

L={ ε,000,000000,……….}

更新於: 2021年6月12日

4K+ 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告