四種類型的文法總結

這是有關編譯原理的。正則表達式

喬姆斯基體系是計算機科學中刻畫形式文法表達能力的一個分類譜系,是由諾姆·喬姆斯基於1956年提出的。它包括四個層次:設計

  • 0-型文法(無限制文法或短語結構文法)包括全部的文法。該類型的文法可以產生全部可被圖靈機識別的語言。可被圖靈機識別的語言是指可以使圖靈機停機的字串,這類語言又被稱爲遞歸可枚舉語言。注意遞歸可枚舉語言與遞歸語言的區別,後者是前者的一個真子集,是可以被一個總停機的圖靈機斷定的語言。
  • 1-型文法(上下文相關文法)生成上下文相關語言。這種文法的產生式規則取如 αAβ -> αγβ 同樣的形式。這裏的A 是非終結符號,而 α, β 和 γ 是包含非終結符號與終結符號的字串;α, β 能夠是空串,但 γ 必須不能是空串;這種文法也能夠包含規則 S->ε ,但此時文法的任何產生式規則都不能在右側包含 S 。這種文法規定的語言能夠被線性有界非肯定圖靈機接受。
  • 2-型文法(上下文無關文法)生成上下文無關語言。這種文法的產生式規則取如 A -> γ 同樣的形式。這裏的A 是非終結符號,γ 是包含非終結符號與終結符號的字串。這種文法規定的語言能夠被非肯定下推自動機接受。上下文無關語言爲大多數程序設計語言的語法提供了理論基礎。
  • 3-型文法(正規文法)生成正規語言。這種文法要求產生式的左側只能包含一個非終結符號,產生式的右側只能是空串、一個終結符號或者一個非終結符號後隨一個終結符號;若是全部產生式的右側都不含初始符號 S ,規則 S -> ε 也容許出現。這種文法規定的語言能夠被有限狀態自動機接受,也能夠經過正則表達式來得到。正規語言一般用來定義檢索模式或者程序設計語言中的詞法結構。

正規語言類包含於上下文無關語言類,上下文無關語言類包含於上下文相關語言類,上下文相關語言類包含於遞歸可枚舉語言類。這裏的包含都是集合的真包含關係,也就是說:存在遞歸可枚舉語言不屬於上下文相關語言類,存在上下文相關語言不屬於上下文無關語言類,存在上下文無關語言不屬於正規語言類。blog

四種類型的文法的主要特色:遞歸

相關文章
相關標籤/搜索