看Chomsky的書是因為在編譯原理課程中多次提到這個人,這是個變態天才,神一般的存在,而且還是活的。
Chomsky的語言學理論觀點在語言學、心理學和哲學領域都產生了廣泛而深刻的影響。Chomsky的哲學思想是一個貫穿了唯實論、自然主義和心智主義的連貫的、完整的體系。這一體系的核心是內在語言理論。但是這一理論觀點與傳統觀點分歧很大 ,因此遭受到哲學界的強烈攻擊。Chomsky正是在這些爭論的過程中不斷地發現問題并對自己的理論和觀點進行修改和補充 ,從而使其哲學系統乃至語言學理論系統更趨完善。哲學問題咱不關心這么無聊的問題留給哲學家們去扯。
理論方法
Chomsky語言學的理論方法概況起來講,是自然科學中形式主義的演繹方法,用Chomsky自己的話講,叫伽利略研究風格(Galileo Style),像伽利略為宇宙建立抽象的數學模型一樣,構建有關語言知識的抽象數學模型,相信類似數學一樣的形式主義的演繹推理模型具有自足自明的真理性。Chomsky的語言研究所追求的是從世界各種語言五花八門的句子樣式中抽象出幾個簡單的句法規則。
Chomsky的句法結構一書中把語言學看成跟自然科學中的其他科學一樣,可以從假設出發,進行推演并形式化。換句話說,非經驗主義是可能的。《句法結構》有一半篇幅用于英語語法的形式化。非經驗主義和形式化是轉換生成語法的首要標志。
把句法關系作為語言結構的中心并以此說明語句的生成是這場革命的又一表現。為了描寫和解釋語言現象,Chomsky在《句法結構》中論證了語法的生成能力,認為應該把語法看成是能生成無限句子的有限規則系統。
它以"核心句"為基礎,通過轉換規則描寫和分析不同句式之間的內在聯系。該書分析了以"馬爾可夫過程"為基礎的通訊理論,認為它只能生成有限狀態的語法,而這種"有限狀態的語法"不能生成象英語這種語言里含有不連續結構的所有合乎語法的句子。基于此,喬姆斯基提出了轉換語法模式,認為它才能生成所有合乎語法的句子而不會生成不合乎語法的句子。轉換語法模式由短語結構規則、轉換規則、語素音位規則三套規則構成。
短語結構規則有三種:合并、遞歸、推導式,其基本形式是x→y 。→讀作"改寫",這個公式就是將x改寫成y。短語結構規則生成的是"核心語符列",不經過轉換直接由這種語符列得出的基本句型叫"核心句"。
轉換規則包括:移位、刪略、添加。最后運用語素音位規則得出實際說出的句子。這三套規則中,最引人注目的是轉換規則,因為短語結構規則和語素音位規則實際上繼承了描寫語言學的"直接成分分析"和語素音位的分析,轉換是一種創新,它使語法具有更強的解釋力。
《句法結構》把語義排除在語法之外,這一時期的理論框架不包括語義部分。喬姆斯基認為,語法理論不應該建立在語義的基礎上,而應該用某種嚴格的、客觀的方法去代替對于模糊的語義的依賴。不過這一理論在后來的發展中做了重大的修正。
Chomsky 定義的四種形式語言文法中, 0 型文法又稱為 ( A )文法; 1 型文法又稱為 ( C ) 文法; 2 型語言可由 ( G ) 識別。
A .短語結構文法 B 前后文無關文法 C 前后文有關文法 D 正規文法
E 圖靈機 F 有限自動機 G 下推自動機
文法是用來定義語言的一個模型,常用的文法體系為Chomsky文法體系。
文法定義
文法G(Grammar)是一個四原組,G=(N,T,P,S),N(Non-terminator)是非終結符集合,T(Terminator)是終結符集合,P(Production)是產生式集合,S(Start)是起始符
其中:
N 交 T = 空集
P 是形式為 α -> β 的產生式
α ∈ (N∪T)*N+(N∪T)*,也就是說α中必須有一個非終結符
β ∈ (N∪T)* ,也就是說β可以是空串
S∈N
分類
0型文法(短語文法或無限制文法),識別0語言的機器叫做圖靈機
定義:P中產生式a-->b,其中a屬于V正閉包且至少含有一個非終結符,b屬于V星閉包
注:任何0型文法都是可遞歸可枚舉的
對0型文法作某些限制,可以得到其他文法的定義
1型文法 又稱上下文有關文法。生成式形式為 α->β, 且 |α| < |β| 并且不存在 A->ε
2型文法 又稱上下文無關文法。生成式形式為 A->α,即左邊必須只有一個非終結符
3型文法 又稱正則文法。
生成式 A->wB或A->w,稱為右線性文法
生成式 A->Bw或A->w,稱為左線性文法
0型文法 對生成式沒有任何限制的文法稱為0型文法。從0到3都是包含的關系,但是有特例,包含 A->ε 產生式的2,3型文法不屬于1型文法。
四種文法產生的語言分別稱為 上下文有關語言,上下文無關語言,正則語言,無限制性語言。
2型語言的表示法
2型語言是很重要的一種語言,除了用四元組的方法表示,此處再介紹兩種表示方法。
當人們要解釋或者討論程序設計語言本身時,經常又需要一種語言,被討論的語言叫做對象語言,即某種程序設計語言,討論對象語言的語言稱為元語言,即元語言是描述語言的語言。BNF范式通常被作為討論某種程序設計語言語法的元語言,而語法圖是與BNF范式的描述能力等價的另一種文法表示形式,因其直觀性而經常采用。
(1)巴科斯范式(Backus Normal Form,BNF)
2型文法生成式左端只有一個非終結符,所以可以把左端相同的生成式合并在一起,右端用|隔開,用::=代替->,所有非終結符用<>括起來,這是Backus為了描述AIGOL語言首次提出并使用的。
用BNF描述十進制整數的生成語法:
<無符號整數> ::= <數字>|<數字><無符號整數>
<數字> ::= 0|1|2|3|4|5|6|7|8|9
(2)語法圖
語法圖有四種基本形式
(3)推導樹
2型文法還經常用推導樹表示