杭士基譜系
外觀
此條目需要精通或熟悉相關主題的編者參與及協助編輯。 |
此條目包含過多行話或專業術語,可能需要簡化或提出進一步解釋。 |
杭士基體系是電腦科學中刻畫形式文法表達能力的一個分類譜系,是由語言學家諾姆·杭士基於1956年提出的。它包括四個層次:
- 0-型文法(無限制文法或短語結構文法)包括所有的文法。該類型的文法能夠產生所有可被圖靈機辨識的語言。可被圖靈機辨識的語言是指能夠使圖靈機停機的字串,這類語言又被稱為遞迴可列舉語言。注意遞迴可列舉語言與遞迴語言的區別,後者是前者的一個真子集,是能夠被一個總停機的圖靈機判定的語言。
- 1-型文法(上下文相關文法)生成上下文相關語言。這種文法的產生式規則取如 αAβ -> αγβ 一樣的形式。這裡的A 是非終結符號,而 α, β 和 γ 是包含非終結符號與終結符號的字串;α, β 可以是空字串,但 γ 必須不能是空字串;這種文法也可以包含規則 S->ε ,但此時文法的任何產生式規則都不能在右側包含 S 。這種文法規定的語言可以被線性有界非確定圖靈機接受。
- 2-型文法(上下文無關文法)生成上下文無關語言。這種文法的產生式規則取如 A -> γ 一樣的形式。這裡的A 是非終結符號,γ 是包含非終結符號與終結符號的字串。這種文法規定的語言可以被非確定下推自動機接受。上下文無關語言為大多數程式設計語言的語法提供了理論基礎。
- 3-型文法(正規文法)生成正規語言。這種文法要求產生式的左側只能包含一個非終結符號,產生式的右側只能是空字串、一個終結符號或者一個終結符號後隨一個非終結符號;如果所有產生式的右側都不含初始符號 S ,規則 S -> ε 也允許出現。這種文法規定的語言可以被有限狀態自動機接受,也可以通過正規表示式來獲得。正規語言通常用來定義檢索模式或者程式設計語言中的詞法結構。
正規語言類包含於上下文無關語言類,上下文無關語言類包含於上下文相關語言類,上下文相關語言類包含於遞迴可列舉語言類。這裡的包含都是集合的真包含關係,也就是說:存在遞迴可列舉語言不屬於上下文相關語言類,存在上下文相關語言不屬於上下文無關語言類,存在上下文無關語言不屬於正規語言類。
下表總結了上述四種類型的文法的主要特點:
文法 語言 自動機 產生式規則 0-型 遞迴可列舉語言 圖靈機 α -> β(無限制) 1-型 上下文相關語言 線性有界非確定圖靈機 αAβ -> αγβ 2-型 上下文無關語言 非確定下推自動機 A -> γ 3-型 正規語言 有限狀態自動機 A -> aB
A -> a
相關條目
[編輯]參考文獻
[編輯]- Noam Chomsky: Three models for the description of language, IRE Transactions on Information Theory, 2 (1956), pages 113-124
- Noam Chomsky: On certain formal properties of grammars, Information and Control, 1 (1959), pages 91-112