解釋編譯原理中上下文無關文法的簡化


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

它定義為四個元組:

G=(V,T,P,S)

其中:

  • G 是一個文法,它包含一組產生式規則。它用於生成語言的字串。
  • T 是終結符的集合。用小寫字母表示。
  • V 是非終結符的集合。用大寫字母表示。
  • P 是一組產生式規則,用於將字串中的非終結符(產生式的左邊)替換為其他終結符(產生式的右邊)。
  • S 是用於推導字串的起始符。

並非所有文法都經過最佳化,這意味著文法可能包含一些額外的符號(非終結符),從而增加文法的長度。

因此,我們必須透過移除無用符號來簡化文法。

屬性

簡化文法的屬性如下:

  • G 的每個非終結符和終結符都出現在 L 中某個單詞的推導中。
  • 不應該有任何形如 X→Y 的產生式,其中 X 和 Y 都是非終結符。
  • 如果空串 ε 不在語言 L 中,則產生式 X→ε 不需要存在。

簡化文法的用途解釋如下:

更新於:2021年6月12日

瀏覽量:1K+

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告