版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
形式語言與自動(dòng)機(jī)語言及文法CollegeofComputerScience&Technology,BUPT第一頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT引言復(fù)習(xí):什么是形式語言?什么是文法?什么是自動(dòng)機(jī)?形式語言的定義方式?研究形式語言與自動(dòng)機(jī)的意義?問題的提出?本章關(guān)注語言與文法如何描述(產(chǎn)生)左右括號(hào)匹配的語言?如何描述(產(chǎn)生)數(shù)學(xué)表達(dá)式?第二頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT引言知識(shí)點(diǎn):形式語言所研究的問題:產(chǎn)生語言,根據(jù)語言中的基本句子和其它句子的形成“規(guī)則”,得到(產(chǎn)生)語言所包含的所有句子。第三頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT第一節(jié)語言的定義與運(yùn)算一、語言的一些術(shù)語:
字母表:字符的有限集合,記為T。字符串:由字母表T中的字符構(gòu)成的序列稱字母表T上的字符串(句子)。常記為u,v,w,x,y,z;常用a,b,c,d標(biāo)識(shí)單個(gè)字符。第四頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT字母表(Alphabet)
概念
形式符號(hào)的集合
記號(hào)常用T、表示
舉例英文字母表a,b,…,z,A,B,…,Z英文標(biāo)點(diǎn)符號(hào)表,;:.?!’‘“”()…漢字表…,自,…,動(dòng),…,機(jī),…
化學(xué)元素表H,He,Li,…,
T=a,n,y,任,意第五頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT字符串(string)
概念字母表T上的一個(gè)字符串(簡稱串),或稱為字(word),為T中字符構(gòu)成的一個(gè)有限序列。
空串(emptystring),用表示,不包含任何字符。
舉例設(shè)T=a,b,則
,
a,ba,bbaba等都是串
字符串w的長度,記為w,是包含在w中字符的個(gè)數(shù)
舉例=0,bbaba=5ai表示含有i個(gè)a的字符串
第六頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT
連接(concatenation)
設(shè)x,y為串,且xa1a2…am,yb1b2…bn,則x與y的連接
xya1a2…amb1b2…bn
連接運(yùn)算的性質(zhì)
(xy)z
x(yz
)
xxx
xyx+y
關(guān)于字符串的運(yùn)算第七頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT
其它如取頭字符,取尾部,子串匹配
等
設(shè)ω1,ω2,ω3是字母表T上的字符串,稱:ω1是字符串ω1ω2的前綴,ω2是字符串ω1ω2的后綴,ω2是字符串ω1ω2ω3的子串??沾侨魏巫址那熬Y,后綴及子串。
例:abc的前綴aababcε.后綴cbcabcε.子串a(chǎn)bcabbcabcε,即一個(gè)字符串可以看作是多個(gè)字符串的連接。
關(guān)于字符串的運(yùn)算第八頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT字符串ω的逆用表示。是字符串ω的倒置。ω=b1b2……bn=bnbn-1……b2b1空串ε的逆還是ε第九頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT字母表的冪運(yùn)算
冪運(yùn)算Tn用來表示該字母表長度為n的所有串的集合。設(shè)T為字母表,n為任意自然數(shù),定義(1)T0=(2)設(shè)x
Tn-1,a
T,則a
x
Tn(3)
Tn中的元素只能由(1)和(2)生成
閉包
T*=
T0T1T2…
閉包
T+=
T1T2T3…
T*=T+,T+=T*
第十頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT閉包的物理意義
T的星號(hào)閉包T*:字母表T上的所有字符串和空串的集合。T的正閉包T+:字母表T上的所有字符串構(gòu)成的集合。 T*=T+∪{ε}舉例設(shè)T=0,1,則T0=,T1=0,1,T2=00,01,10,11,…T*=,0,1,00,01,10,11,…T+=
0,1,00,01,10,11,…第十一頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT
概念設(shè)T為字母表,則任何集合LT*是字母表T上的一個(gè)語言(language)。隱含的概念:如何表述子集的“特性和規(guī)則”,
舉例-左右括號(hào)的匹配。
英文單詞集…,English,…,words,…
C語言程序集…字母表?漢語成語集…,馬到成功,…
化學(xué)分子式集…,H2O,…,NaCl,…
any,任意
語言(Languages)第十二頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT語言(Languages)舉例:設(shè)T={a,b}則L1={anbn|n≥1}L3={bk|k是質(zhì)數(shù)}L2={ε}只有一個(gè)空句子的語言L4={}=Φ空語言均為字母表T上的語言。由語言的定義知語言是集合,對于集合的運(yùn)算可應(yīng)用于對于語言的計(jì)算。如并,交,補(bǔ),差。第十三頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT語言的基本運(yùn)算語言的積:
兩個(gè)語言L1和L2的積L1L2是由L1和L2中的字符串連接所構(gòu)成的字符串的集合。即L1中所有字符串分別與L2中的字符串連接得到的集合。設(shè)T={a,b},L1和L2是T上的語言。L1={ab,ba}L2={aa,bb}則L1L2={abaa,abbb,baaa,babb}L2L1={aaab,aaba,bbab,bbba}L1L2≠L2L1語言的積不可交換。第十四頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT語言的基本運(yùn)算語言的冪: 語言的冪可歸納定義如下: L0={ε}Ln=L·Ln-1=Ln-1·Ln≥1上例中,L12={abab,abba,baab,baba}L22={aaaa,aabb,bbaa,bbbb}
第十五頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT語言舉例例1:括號(hào)匹配的語言及產(chǎn)生該語言指所有左右括號(hào)相匹配的字符串如何“產(chǎn)生”這個(gè)語言?規(guī)則?遞歸定義提供了集合的定義方式。構(gòu)造規(guī)律?;A(chǔ):定義該集合的最基本的元素,“()”遞歸:若S是合法串,則:(S)是合法串; SS是合法串;第十六頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT語言舉例例2:程序設(shè)計(jì)語言中算數(shù)表達(dá)式的語言 運(yùn)算符A:+、-、*、/利用遞歸定義方式。重點(diǎn)是構(gòu)造規(guī)律?;A(chǔ):單個(gè)變量是最基本的串,i,遞歸:若S是合法串,則:SAS是合法串; (S)是合法串;第十七頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT語言舉例例3:標(biāo)識(shí)符語言及產(chǎn)生該語言指所有字母開頭后接字母或數(shù)字的字符串如何“產(chǎn)生”這個(gè)語言?規(guī)則?遞歸定義提供了集合的定義方式。構(gòu)造規(guī)律?;A(chǔ):單個(gè)字母是最基本的元素,遞歸:若S是合法串,則:SL是合法串; SD是合法串;L:字母;D:數(shù)字。第十八頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT第二節(jié)文法本節(jié)提綱文法的作用文法的形式定義推導(dǎo)與句型文法產(chǎn)生語言第十九頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT2.1文法的作用定義:所謂文法是用來定義語言的一個(gè)數(shù)學(xué)模型表示語言的方法:若語言L是有限集合,可用列舉法若L是無限集合(集合中的每個(gè)元素有限長度),用其他方法。方法一:文法產(chǎn)生系統(tǒng),由定義的文法規(guī)則產(chǎn)生出語言的每個(gè)句子方法二:機(jī)器識(shí)別系統(tǒng):當(dāng)一個(gè)字符串能被一個(gè)語言的識(shí)別系統(tǒng)接受,則這個(gè)字符串是該語言的一個(gè)句子,否則不屬于該語言。第二十頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT2.1文法的作用---元語言元語言定義:描述語言的語言 例如:各種各樣的程序設(shè)計(jì)語言當(dāng)人們要解釋或討論程序設(shè)計(jì)語言本身時(shí),又需要一種語言,被討論的語言叫做對象語言,即某種程序設(shè)計(jì)語言,討論對象語言的語言稱為元語言。第二十一頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPTBNF(巴科斯范式) BNF范式通常被作為討論某種程序設(shè)計(jì)語言語法的元語言<數(shù)字>::=0|1|2|……9::=“定義為”<字母>::=A|B|C|……Z|a|b|……z<標(biāo)識(shí)符>::=<字母>|<標(biāo)識(shí)符><字母>|<標(biāo)識(shí)符><數(shù)字>
….通過上述定義可知,所有以字母開頭的,由字母和數(shù)字組成的字符串都是標(biāo)識(shí)符。BNF定義了一種語言,其中標(biāo)識(shí)符如上定義。BNF描述它所定義的語言,為元語言。第二十二頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT例如:漢語語法中定義了句子的結(jié)構(gòu)由主語、謂語、賓語組成。這里主謂賓只是描述了句子的結(jié)構(gòu),并不是句子。而按照這種結(jié)構(gòu)組成的建立在漢字上的字符串就是句子。如:他是學(xué)生。第二十三頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT文法是一種元語言,一種定義方法。根據(jù)文法產(chǎn)生出語言的句子。第二十四頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT2.1文法—元語言例如:BNF<標(biāo)識(shí)符>::=<字母><標(biāo)識(shí)符>::=<標(biāo)識(shí)符><字母><標(biāo)識(shí)符>::=<標(biāo)識(shí)符><數(shù)字><字母>::=a|b|……z|A|B|……|Z<數(shù)字>::=0|1|……9將::=改為→表示可被代替用I,L,D分別表示標(biāo)識(shí)符、字母、數(shù)字;第二十五頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT2.1文法---元語言則上述表達(dá)式可以表示為 I→LI→ILI→IDL→a|b|….|zD→0|1|….9這就是一個(gè)文法的生成式集合。第二十六頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT2.2文法的形式定義Chomsky文法體系中,任何一種文法必須包含有兩個(gè)不同的有限符號(hào)的集合,即非終結(jié)符集合N和終結(jié)符集合T。一個(gè)形式規(guī)則的有限集合P(生成式集合),一個(gè)起始符S。P中的生成式是用來產(chǎn)生語言句子的規(guī)則,而句子則是僅由終結(jié)符組成的字符串。這些字符串必須從一個(gè)起始符S開始,不斷使用P中的生成式而推導(dǎo)出來。可見文法的核心是生成式的集合,它決定了語言中句子的產(chǎn)生。第二十七頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT2.2文法的形式定義文法G是一個(gè)四元組G=(N,T,P,S),其中 N非終結(jié)符的有限集合 T終結(jié)符的有限集合N∩T=Φ P形式為α→β的生成式的有限集合。 且α∈(N∪T)*N+(N∪T)*β∈(N∪T)* S起始符且S∈N。第二十八頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT將上例用文法表示 G=(N,T,P,S)N={I,L,D}T={a,b,c,…z,0,1,…9}P={I,La,…,D0,…,D9}S={I}文法是語言的產(chǎn)生系統(tǒng),研究怎樣構(gòu)造文法能產(chǎn)生出符合要求的句子。第二十九頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT2.3.推導(dǎo)與句型1、直接推導(dǎo) 設(shè)G=(N,T,P,S)是文法,若A→β是P中的生成式,α和γ是(N∪T)*中的字符串,則有αAγ=>αβγ稱αAγ直接推導(dǎo)出αβγ,或說αβγ是αAγ的直接推導(dǎo)。第三十頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT設(shè)G=(N,T,P,S)是文法,α、α0、α1…αn、α’都是(N∪T)*中的字符串,且α=α0、α’=αn,其中αi直接推導(dǎo)出αi+1(0≤i≤n),則稱序列α0=>α1=>α2=>…=>αn是長度為n的推導(dǎo)序列,而α=α0是長度為0的推導(dǎo)序列。對α推導(dǎo)出α’記為αα’,若推導(dǎo)序列長度大于0,則記為αα’。推導(dǎo)序列的每一步,都產(chǎn)生一個(gè)字符串,這些字符串一般稱為句型。2.3、推導(dǎo)序列第三十一頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT2.3、句型和句子句型 字符串α是文法G的句型,當(dāng)且僅當(dāng)Sα,且α∈(N∪T)*。句子ω是G的句子,當(dāng)且僅當(dāng)Sω,且ω∈T*。(ω是由終結(jié)符組成的字符串)例:I=>L=>a I=>IL=>LL=>zL=>zb句型包含句子第三十二頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT2.4.文法產(chǎn)生的語言由文法G產(chǎn)生的語言記為L(G)。 L(G)={ω|ω∈T*且Sω}或: L(G)中的一個(gè)字符串,必是由終結(jié)符組成的,并且是從起始符S推導(dǎo)出來的。第三十三頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT2.4文法產(chǎn)生語言例1:括號(hào)匹配的語言及產(chǎn)生遞歸定義提供了集合的定義方式。構(gòu)造規(guī)律?;A(chǔ):定義該集合的最基本的元素,“()”遞歸:若S是合法串,則:(S)是合法串; SS是合法串;文法產(chǎn)生式集合:S→()S→(S)S→SS第三十四頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT2.4文法產(chǎn)生語言舉例例2:程序設(shè)計(jì)語言中算數(shù)表達(dá)式的語言 運(yùn)算符A:+、-、*、/利用遞歸定義方式。重點(diǎn)是構(gòu)造規(guī)律?;A(chǔ):單個(gè)變量是最基本的串,i,遞歸:若S是合法串,則:SAS是合法串; (S)是合法串產(chǎn)生式集合:S→i;S→SAS;S→(S);A→+;A→?;A→*;A→/;第三十五頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT第三節(jié)Chomsky文法體系分類文法G=(N,T,P,S);P:α→β 其中α∈(N∪T)*N+(N∪T)*β∈(N∪T)*屬于Chomsky文法體系該體系對生成式的形式做了一些規(guī)定,分為四類,即0型、1型、2型、3型文法0型文法:無限制文法 對應(yīng)的語言:遞歸可枚舉語言,與圖靈機(jī)等價(jià)。第三十六頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT1型文法也稱上下文有關(guān)文法(CSG:Context-sensitiveGrammar) 生成式的形式為α→β, 其中|α|≤|β|,β∈(N∪T)+, α∈(N∪T)*N+(N∪T)*對應(yīng)的語言:上下文有關(guān)語言(CSL:Context-sensitiveLanguage)若不考慮ε,與線性有界自動(dòng)機(jī)(LBA,LinearBoundedAutomaton)等價(jià)。第三十七頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT1型文法語言限定約束:左部的長度小于右部不含A->ε上下文有關(guān)語言CSL是對實(shí)際程序語言結(jié)構(gòu)的抽象:典型的這類語言結(jié)構(gòu)包括:過程調(diào)用時(shí)形參與實(shí)參的一致性檢查等。第三十八頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT2型文法也稱上下文無關(guān)文法(CFG:Context-freeGrammar) A→α, A∈N,且α∈(N∪T)*對應(yīng)的語言:上下文無關(guān)語言(CFL:Context-freeLanguage)。對應(yīng)的自動(dòng)機(jī):下推自動(dòng)機(jī)(PDA:PushdownAutomaton)。第三十九頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT語言限定約束:左部是1個(gè)非終結(jié)符。CFL對實(shí)際語言結(jié)構(gòu)的抽象:表示句子的語法結(jié)構(gòu),如:表達(dá)式,嵌套結(jié)構(gòu){}。目前的程序設(shè)計(jì)語言主要采用CFL描述語法結(jié)構(gòu)。第四十頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT3型文法也稱正則文法右線性文法(Right-linearGrammar):A→ωB或A→ω A、B∈N,ω∈T*。左線性文法(Left-linearGrammar): A→Bω或A→ω A、B∈N,ω∈T*。對應(yīng)的語言:正則語言對應(yīng)的自動(dòng)機(jī):有限自動(dòng)機(jī)(FiniteAutomaton)。第四十一頁,共四十七頁,編輯于2023年,星期二CollegeofComputerScience&Technology,BUPT文法舉例例1: G=({A,B,C},{a,b,d},P,A) P:A→AB;AB→CAAB;A→d;B→a;C→b是1型文法。A=>dA=>AB=>dB=>daA=>AB=>ABB=>dBB=>daB=>daaA=>AB=>CAAB=>bAAB
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 長春寶寶情緒表達(dá)理解
- 護(hù)理專業(yè)護(hù)理領(lǐng)導(dǎo)力培養(yǎng)
- 艾滋病基本知識(shí)專題知識(shí)
- 藥物研究技術(shù)培訓(xùn)課件
- 藥理學(xué)入門:巴比妥類中毒解救課件
- 醫(yī)學(xué)導(dǎo)論:前置胎盤處理課件
- 美容儀器使用與保養(yǎng)
- 公司招待制度
- 公司制度公文管理制度
- 分層培訓(xùn)教學(xué)課件
- 多學(xué)科團(tuán)隊(duì)(MDT)中的醫(yī)患溝通協(xié)同策略
- 期末復(fù)習(xí)知識(shí)點(diǎn)清單新教材統(tǒng)編版道德與法治七年級(jí)上冊
- 賬務(wù)清理合同(標(biāo)準(zhǔn)版)
- 投標(biāo)委托造價(jià)協(xié)議書
- 孕婦上班免責(zé)協(xié)議書
- 神經(jīng)內(nèi)科腦疝術(shù)后護(hù)理手冊
- 2026年包頭輕工職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫附答案
- 2025年中厚鋼板行業(yè)分析報(bào)告及未來發(fā)展趨勢預(yù)測
- 光伏工程掛靠合同范本
- 電磁炮課件教學(xué)課件
- 2025數(shù)據(jù)基礎(chǔ)設(shè)施參考架構(gòu)
評(píng)論
0/150
提交評(píng)論