




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第2章文法
?對(duì)任何語(yǔ)言L,有一個(gè)字母表£,使得L=£*。
?L的具體組成結(jié)構(gòu)是什么樣的?
?一個(gè)給定的字符串是否為一個(gè)給定語(yǔ)言的句子?如
果不是,它在結(jié)構(gòu)的什么地方出了錯(cuò)?進(jìn)一步
地,這個(gè)錯(cuò)誤是什么樣的錯(cuò)?如何更正?……。
?這些問(wèn)題對(duì)有窮語(yǔ)言來(lái)說(shuō),比較容易解決。
?這些問(wèn)題對(duì)無(wú)窮語(yǔ)言來(lái)說(shuō),不太容易解決。
?語(yǔ)言的有窮描述。
2011-11-19
第2章文法
?主要內(nèi)容
文法的直觀意義與形式定義,推導(dǎo)、文法產(chǎn)生
的語(yǔ)言、句子、句型;喬姆斯基體系,左線性文
法、右線性文法,文法的推導(dǎo)與歸約;空語(yǔ)句。
?重點(diǎn)
文法、推導(dǎo)、歸約、模型的等價(jià)性證明。
?難點(diǎn)
形式化的概念,文法的構(gòu)造。
2011-11-192
2.1啟不
-文法的概念最早是由語(yǔ)言學(xué)家們?cè)谘芯孔匀徽Z(yǔ)言
理解中完成形式化。
?歸納如下句子的描述:
⑴哈爾濱是美麗的城市。
⑵北京是祖國(guó)的首都。
⑶集合是數(shù)學(xué)的基礎(chǔ)。
⑷形式語(yǔ)言是很抽象的。
⑸教育走在社會(huì)發(fā)展的前面。
⑹中國(guó)進(jìn)入WTO。
2011-11-193
2.1啟不
?6個(gè)句子的主體結(jié)構(gòu)
V名詞短語(yǔ),V動(dòng)詞短語(yǔ)><句號(hào),
V名詞短語(yǔ)>={哈爾濱,北京,集合,形式語(yǔ)言,
教育,中國(guó)}
V動(dòng)詞短語(yǔ)>={是美麗的城市,是祖國(guó)的首都,是
數(shù)學(xué)的基礎(chǔ),是很抽象的,走在社會(huì)發(fā)展的前
面,進(jìn)入WTO}
v句號(hào)>={。}
2011-11-194
2.1啟不
?V動(dòng)詞短語(yǔ)〉可以是V動(dòng)詞〉V形容詞短語(yǔ),或者〈動(dòng)
詞,V名詞短語(yǔ),。
?V名詞短語(yǔ)>={北京、哈爾濱、形式語(yǔ)言、中國(guó)、
教育、集合、WTO、美麗的城市、祖國(guó)的首都、
數(shù)學(xué)的基礎(chǔ)、社會(huì)發(fā)展的前面}。
?V動(dòng)詞>={是、走在、進(jìn)入}。
?〈形容詞短語(yǔ)>={很抽象的}。
?把〈名詞短語(yǔ),V動(dòng)詞短語(yǔ)〉V句號(hào)》取名為V句子
2011-11-195
2.1啟示
集合V動(dòng)詞〉V名詞短語(yǔ)》
是數(shù)學(xué)的基礎(chǔ)
2011-11-196
2.1啟不
,表示成a-8形式
V句子〉fV名詞短語(yǔ)><動(dòng)詞短語(yǔ)><句號(hào)>
〈動(dòng)詞短語(yǔ)〉fV動(dòng)詞〉V形容詞短語(yǔ)〉
V動(dòng)詞短語(yǔ)〉fV動(dòng)詞〉〈名詞短語(yǔ)〉
V動(dòng)詞〉一是
2011-11-197
2.1啟不
V動(dòng)詞〉T?走在
V動(dòng)詞〉一進(jìn)入
V形容詞短語(yǔ)>一很抽象的
V名詞短語(yǔ)?北京
v名詞短語(yǔ)>->哈爾濱
〈名詞短語(yǔ)〉-形式語(yǔ)言
2011-11-198
2.1啟不
〈名詞短語(yǔ)〉―中國(guó)
〈名詞短語(yǔ)〉-教育
〈名詞短語(yǔ)〉一集合
V名詞短語(yǔ)》—WTO
〈名詞短語(yǔ)>->美麗的城市
〈名詞短語(yǔ)〉->祖國(guó)的首都
〈名詞短語(yǔ)〉—數(shù)學(xué)的基礎(chǔ)
〈名詞短語(yǔ)〉-社會(huì)發(fā)展的前面
V句號(hào)>—。
2011-11-199
2.1啟不
?表示一個(gè)語(yǔ)言,需要4種東西
⑴形如〈名詞短語(yǔ)〉的“符號(hào)”
它們表示相應(yīng)語(yǔ)言結(jié)構(gòu)中某個(gè)位置上可以出現(xiàn)
的一些內(nèi)容。每個(gè)“符號(hào)”對(duì)應(yīng)的是一個(gè)集合,在
該語(yǔ)言的一個(gè)具體句子中,句子的這個(gè)位置上能且
僅能出現(xiàn)相應(yīng)集合中的某個(gè)元素。所以,這種“符
號(hào)”代表的是一個(gè)語(yǔ)法范疇。
⑵v句子》
所有的“規(guī)則”,都是為了說(shuō)明V句子》的結(jié)構(gòu)
而存在,相當(dāng)于說(shuō),定義的就是〈句子,。
2011-11-1910
2.1啟示
⑶形如北京的“符號(hào)”
它們是所定義語(yǔ)言的合法句子中將出現(xiàn)的“符
號(hào)”。僅僅表示自身,稱為終極符號(hào)。
⑷所有的“規(guī)則”都呈af6的形式
在產(chǎn)生語(yǔ)言的句子中被使用,稱這些“規(guī)則”
為產(chǎn)生式。
2011-11-1911
2.2形式定義
?文法(grammar)
?G=(V,T,P,S)
-V——為變量(variable)的非空有窮集。
VA£V,A叫做一個(gè)語(yǔ)法變量(syntactic
Variable),簡(jiǎn)稱為變量,也色叫做非終
極符號(hào)(nonterminal)。它表示一個(gè)語(yǔ)法
范疇(syntacticCategory)。所以,本文
中有時(shí)候又稱之為語(yǔ)法范疇。
2011-11-1912
2.2形式定義
-T------為終極符(terminal)的非空有窮
集。VaeT,a叫做終極符。由于V中變
量表示語(yǔ)法范疇,T中的字符是語(yǔ)言的句
子中出現(xiàn)的字符,所以,有VAT=0。
-S——Sev,為文法G的開始符號(hào)(start
symbol)o
2011-11-1913
2.2形式定義
-P-----為產(chǎn)生式(production)的非空有窮
集合。P中的元素均具有形式戊一6,
被稱為產(chǎn)生式,讀作:a定義為6。一其
中a£(VUT)+,且a中至少有V中元素
的一個(gè)出現(xiàn)。/3e(vuT)\a稱為產(chǎn)生
式af8的左部,8稱為產(chǎn)生式
的右部。產(chǎn)生式又叫做定義式或者語(yǔ)法
規(guī)則。
2011-11-1914
2.2形式定義
?例2-1以下四元組都是文法。
⑴({A},{0,1},{A.01,Af0A1,Af1A0},A)。
⑵({A},{0,1},{Af0,Af0A},A)o
⑶({A,B},{0,1},{A.01,AfOALAf1A0,BfAB,
B.0},A)o
(4)({A,B},{0,1},{Af0,AfLA.0A,A.1A},
A)o
2011-11-1915
2.2形式定義
⑸({S,A,B,C,D},{a,b,c,d,#},{SfABCD,
Sfabc#,A->aaA,ABfaabbB,BCfbbccC,
cJcccC,CDfccd#,CDfd#,CDf#d},S)o
(6)({S},{a,b},{SfOOS,SfUS,Sf00,SfH},
S)o
2011-11-1916
2.2形式定義
,約定
(1)對(duì)一組有相同左部的產(chǎn)生式
,)?,
ci—>81JLa->8Z,??a->B11
可以簡(jiǎn)單地記為:
a-西凡卜??l8n
讀作:以定義為Sy或者62,…,或者并
且稱它們?yōu)橐援a(chǎn)生式。61,62,…,6n稱為
候選式(candidate)。
2011-11-1917
2.2形式定義
⑵使用符號(hào)
?英文字母表較為前面的大寫字母,如A,B,C,…
表示語(yǔ)法變量;
?英文字母表較為前面的小寫字母,如a,b,c,...
表示終極符號(hào);
?英文字母表較為后面的大寫字母,如X,Y,Z,...
表示該符號(hào)是語(yǔ)法變量或者終極符號(hào);
?英文字母表較為后面的小寫字母,如x,y,z,…
表示由終極符號(hào)組成的行;
?希臘字母a,6,丫…表示由語(yǔ)法變量和終極符號(hào)
組成的行
2011-11-1918
2.2形式定義
?例2-3四元組是否滿足文法的要求。
-({A,B,C,E},{a,b,c},{S-^ABC|abc,Dfe|a,
FBfc,ATA,E->abc|8},S)
-4種修改
(1)({A,B,C,E,S,D,F},{a,b,c,e},
jsfABC|abc,Dfe|a,FBfc,A-A,E-
abc|£},S)o
(2)({A,B,C,E,S},{a,b,c},{SfABC|abc,
A-^A,E->abc|£},S)。
(3)({A,B,C,E},{a,b,c},{AfA,E-
abc|8},A)o
(4)({A,B,C,E},{a,b,c},{AfA,E-
abc|E},E)o
2011-11-1919
2.2形式定義
?推導(dǎo)(derivation)
設(shè)G=(V,T,P,S)是一個(gè)文法,如果af
丫,6G(VUT)\則稱ya6在G中直接推導(dǎo)
出丫66。
Yoi8X138
讀作:丫以6在文法G中直接推導(dǎo)出y66。
“直接推導(dǎo)”可以簡(jiǎn)稱為推導(dǎo)(derivation),也
稱推導(dǎo)為派生。
2011-11-1920
2.2形式定義
?歸約(reduction)
-yaB6
-稱y8S在文法G中直接歸約成rot6,在不
特別強(qiáng)調(diào)歸約的直接性時(shí),“直接歸約”可以
簡(jiǎn)稱為歸約。
2011-11-1921
2.2形式定義
1.推導(dǎo)與歸約表達(dá)的意思的異同。
2.推導(dǎo)與歸約和產(chǎn)生式不一樣。所以,凈口
一所表達(dá)的意思不一樣。
3.推導(dǎo)與歸約是一一對(duì)應(yīng)的。
4.推導(dǎo)與歸約的作用。
2011-11-1922
2.2形式定義
含泵含當(dāng)成(VUT)*上的二元關(guān)系。
⑴A含6:表示a在G中經(jīng)過(guò)n步推導(dǎo)出8;
6在G中經(jīng)過(guò)n步歸約成a。即,存在aj
%,…,an/£(VUT)*使得a茬
%君a2,…,%-i及8。
⑵當(dāng)n=0時(shí),有a=8。即a3a。
(3)oi^B:表示a在G中經(jīng)過(guò)至少1步推導(dǎo)出
8;8在G中經(jīng)過(guò)至少1步歸約成a。
2011-11-1923
2.2形式定義
*
⑷a=>8:表示a在G中經(jīng)過(guò)若干步推導(dǎo)出
13;%在G中經(jīng)過(guò)若干步歸約成a。
分別用=>、B、3、3代替
+*n
多、含、m、m。
2011-11-1924
2.2形式定義
?例2-4設(shè)G=({A},{a},{A->a|aA},A)
AnaA使用產(chǎn)生式AfaA
naaA使用產(chǎn)生式AfaA
naaaA使用產(chǎn)生式A—aA
naaaaA使用產(chǎn)生式AfaA
na…aA使用產(chǎn)生式A—aA
na…aa使用產(chǎn)生式Afan
2011-11-1925
2.2形式定義
AnaA使用產(chǎn)生式AfaA
=^>aaA使用產(chǎn)生式AfaA
=^>aaaA使用產(chǎn)生式AfaA
=^>aaaaA使用產(chǎn)生式AfaA
???
=^>a...aA使用產(chǎn)生式AfaA
=^>a...aaA使用產(chǎn)生式AfaA
2011-11-1926
2.2形式定義
AAaaAAAnAAaaAaAA使用產(chǎn)生式AfaA
=>AaAaaAaAA使用產(chǎn)生式AfaA
nAaAaaAaaA使用產(chǎn)生式A->a
=>aaAaaAaaA使用產(chǎn)生式Afa
naaAaaAaaa使用產(chǎn)生式Afa
naaaAaaAaaa使用產(chǎn)生式AfaA
naaaaaaAaaa使用產(chǎn)生式A->a
=>aaaaaaaaaa使用產(chǎn)生式Afa
2011-11-1927
2.2形式定義
?例2?5設(shè)G=({S,A,B},{0,1},
{SfA|AB,Af0|0A,S)
對(duì)于n三L
A2(P首先連續(xù)n?l次使用產(chǎn)生式;
AfOA,最后使用產(chǎn)生式Af0;
A^>0nA連續(xù)n次使用產(chǎn)生式AfOA;
Bnl使用產(chǎn)生式Bfl;
Bn11使用產(chǎn)生式Bf11。
2011-11-1928
2.2形式定義
語(yǔ)法范疇A代表的集合L(A)={0,00,000,
0000,...}={0n|n^l};
語(yǔ)法范疇B代表的集合L(B)={L11}
語(yǔ)法范疇S代表的集合L(S)=L(A)UL(A)L(B)
={0,00,000,0000,…}U{0,00,000,
0000,11}
={0,00,000,0000,…}U
U{01,001,0001,00001,…}U
U{011,0011,00011,000011,…}
2011-11-1929
OS6T-11-IT0Z
I+uWiu'OWUuiluiO。1uIVuO
I+iiWiu'OWUuilVrnO午uIVuO
l+iiWiu'OWUUIIUIOU+uIVuO
u^iu'OWUUIIVUIO<=uIVuO
OW!'OWU14-uIj+uO、uIVuO
OW!'OWUJ+uIVl+uO年uIVuO
OWUI+u1[+uOeuIVuO
OWU1+ulVi+uOUuIVuO
OWUuIVuO^V
"(V1【VO-V"0-v}'{【'0}"v})=3殺9-Z,
太考庠紐VI
2.2形式定義
,幾點(diǎn)結(jié)論
-對(duì)任意的x£E+,我們要使語(yǔ)法范疇D代表的
集合為住電三。},可用產(chǎn)生式組{D'£|xD}來(lái)
實(shí)現(xiàn)。
-對(duì)任意的x,yeE+,我們要使語(yǔ)法范疇D代表
的集合為{xnyn|n21},可用產(chǎn)生式組
{Dfxy|xDy}來(lái)實(shí)現(xiàn)。
-對(duì)任意的x,y££+,我們要使語(yǔ)法范疇D代表
的集合為{xnyn|n》O},可用產(chǎn)生式組
{Df£|xDy}來(lái)實(shí)現(xiàn)。
2011-11-1931
2.2形式定義
?語(yǔ)言(language)
L(G)={w|weT*且Snw}
?句子(sentence)
VweL(G),w稱為G產(chǎn)生的一個(gè)句子。
?句型(sententialform)
G=(V,T,P,S),對(duì)于Va£(VUT)*,如果S
na,則稱a是G產(chǎn)生的一個(gè)句型。
2011-11-1932
2.2形式定義
?句子W是從S開始,在G中可以推導(dǎo)出來(lái)的
終極符號(hào)行,它不含語(yǔ)法變量。
?句型。是從S開始,在G中可以推導(dǎo)出來(lái)的
符號(hào)行,它可能含有語(yǔ)法變量。
?例2?7給定文法G=({S,A,B,C,D},{a,
b,c,“#},{SfABCD|abc#,AfaaA,
ABfaabbB,BCfbbccCcC^cccC,
CDfccd#,CDfd#,CDf#d},S)
2011-11-1933
2.2形式定義
求句型aaaaaabbbbcccc#d的推導(dǎo)過(guò)程
S=>ABCD使用產(chǎn)生式S—ABCD
=^>aaABCD使用產(chǎn)生式AfaaA
=>aaaaABCD使用產(chǎn)生式AfaaA
=>aaaaaabbBCD使用產(chǎn)生式ABfaabbB
=>aaaaaabbbbccCD使用產(chǎn)生式BCfbbccC
=^>aaaaaabbbbccccCD使用產(chǎn)生式cCfcccC
=^>aaaaaabbbbcccc#d使用產(chǎn)生式CDf#d
2011-11-1934
2.2形式定義
求句型aaaaaaaaAbbccccd#的推導(dǎo)過(guò)程
S=>ABCD使用產(chǎn)生式SfABCD
=^>AbbccCD使用產(chǎn)生式BCfbbccC
=^>aaAbbccCD使用產(chǎn)生式AfaaA
=^>aaAbbccccd#使用產(chǎn)生式CDfccd#
=^>aaaaAbbccccd#使用產(chǎn)生式AfaaA
=>aaaaaaAbbccccd#使用產(chǎn)生式AfaaA
=^>aaaaaaaaAbbccccd#使用產(chǎn)生式AfaaA
2011-11-1935
2.2形式定義
?例2?8構(gòu)造產(chǎn)生標(biāo)識(shí)符的文法
G=({v標(biāo)識(shí)符>,v大寫字母》,v小寫字母》,v阿拉伯?dāng)?shù)字>},{0,
1,…,9,A,B,C,…,Z,a,b,c,…,z},P,v標(biāo)識(shí)符〉)
P={V標(biāo)識(shí)符afV大寫字母>|〈小寫字母〉,
〈標(biāo)識(shí)符〉fV標(biāo)識(shí)符><大寫字母>卜標(biāo)識(shí)符>V小寫字母小標(biāo)識(shí)符>V
阿拉伯?dāng)?shù)字〉,
V大寫字母〉'A|B|C|D|E|F|G|H|I|J|K|L|M|N|O,
v大寫字母〉'P|Q|R|S|T|U|V|W|X|Y|Z,
</b^^^>^a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z,
v阿拉伯?dāng)?shù)字0|1|2|3|4|5|6|7|8|9}
2011-11-1936
2.2形式定義
G=({<標(biāo)識(shí)符〉,v頭〉,<尾>},{0,1,
2,???,9,A,B,C,???,Z,a,b,
C,…,z},P',V標(biāo)識(shí)符》)
p'={〈標(biāo)識(shí)符>f<頭><尾>,
v頭〉.A|B|C|D|E|F|G|H|I|J|K|L|M|N
v頭〉'O|P|Q|R|S|T|U|V|W|X|Y|Z,
<^>^a|b|c|d|e|f|g|h|i|j|k|l|m|n
V頭〉fo|p|q|r|s|t|u|v|w|x|y|z,
2011-11-1937
2.2形式定義
V尾〉.8|0<尾>|1V尾>|2V尾鄧V尾>|4V尾>|5v尾>,
v尾>.6V尾>|7<尾>|8<尾>|9<尾>,
v尾>->Av尾>|Bv尾>Qv尾>|Dv尾平<尾>|Fv尾>,
v尾》fGv尾>|Hv尾>|lv尾>|Jv尾>|Kv尾〉,
v尾〉.Lv尾>|Mv尾>|Nv尾>Qv尾>|Pv尾>|Qv尾>,
v尾〉.Rv尾>|Sv尾>|Tv尾>|Uv尾>|W尾〉,
v尾>->W(wǎng)v尾>|Xv尾>|Yv尾>|Zv尾>|av尾>|bv尾>,
v尾》fcv尾>|dv尾>|ev尾>|fv尾>|gv尾〉,
v尾〉.hv尾>『v尾>|jv尾>|kv尾>[v尾>|mv尾>,
v尾》—nv尾>|o<尾>|pv尾>|qv尾>|rv尾〉,
v尾>—>sv尾>|tv尾>|u<尾>|vv尾>|wv尾>|xv尾>
v尾yv尾>|zv尾>}
2011-11-1938
標(biāo)識(shí)符id8n23,在文法G中的推導(dǎo)過(guò)程
〈標(biāo)識(shí)符,標(biāo)識(shí)符><阿拉伯?dāng)?shù)字〉
nv標(biāo)識(shí)符>3
nv標(biāo)識(shí)符>v阿拉伯?dāng)?shù)字>3
=>v標(biāo)識(shí)符>23
=><標(biāo)識(shí)符><小寫字母>23
=>v標(biāo)識(shí)符>n23
nv標(biāo)識(shí)符>v阿拉伯?dāng)?shù)字>n23
=>v標(biāo)識(shí)符>8n23
nv標(biāo)識(shí)符><小寫字母>8n23
=>v標(biāo)識(shí)符>d8n23
=>v小寫字母>d8n23
2(m皿9=>id8n23
2.2形式定義
標(biāo)識(shí)符id8n23,在文法G'中的推導(dǎo)過(guò)程
標(biāo)識(shí)符〉二>V頭》V尾〉
niv尾〉
nidv尾》
nid8V尾》
nid811V尾〉
nid8112V尾,
nid823V尾,
nid8n23
2011-11-1940
2.2形式定義
?使用符號(hào)使文法更簡(jiǎn)潔
G"=({v標(biāo)識(shí)符>},{b,a,d},{v標(biāo)識(shí)符b|a|v
標(biāo)識(shí)符>b卜標(biāo)識(shí)符,a|v標(biāo)識(shí)符>d},〈標(biāo)識(shí)符》)
G〃'=({L},{b,a,d},{L^b|a|Lb|La|Ld},L)
G〃〃=({L,H,T},{b,a,d},{LfHT,
Hfb|a,T-8|bT|aT|dT}5L)
2011-11-1941
2.3文法的構(gòu)造
?例2?9構(gòu)造文法G,使L(G尸{0,1,00,11)
-將文法的開始符號(hào)定義為這4個(gè)句子。
?G]=({S},{0,1},{Sf0,S.1,S->00,S->11},S)
-先用變量A表示0,用變量B表示1。
?G2=({S,A,B},{0,1},{S->A,S->B,SfAA,
S-?BB,Af0,B.1},S)
-基于G2,考慮“規(guī)范性”問(wèn)題。
?G3=({S,A,B},{0,1},{S->0,S->1,S-?0A,
S-?1B,Af0,B.1},S)
2011-11-1942
2.3文法的構(gòu)造
-可以在V、T中增加一些元素,以獲得“不同
的”文法。
?G4=({S,A,B,C},{0,1,2},{SfA,SfB,
SfAA,SfBB,Af0,B->1},S)
?G5=({S,A,B,C},{0,1,2},{S->A,S->B,
SfAA,SfBB,Af0,Bfl,CACS-21,
C->11,C-?2},S)
L(GJ=L(G2)=L(G3)=L(G4)=L(G5)
2011-11-1943
2.3文法的構(gòu)造
?等價(jià)(equivalence)
-設(shè)有兩個(gè)文法G]和G2,如果L(Gi尸MG2),則
稱Gi與G?等價(jià)。
,約定
-對(duì)一個(gè)文法,只列出該文法的所有產(chǎn)生式,且
所列第一個(gè)產(chǎn)生式的左部是該文法的開始符
號(hào)。
2011-11-1944
2.3文法的構(gòu)造
G1:S^O|1|OO|11
G2:SfA|B|AA|BB,Af0,Bf1
G3:S-0|l|0A|lB,Af0,B.1
G4:SfA|B|AA|BB,Af0,Bf1
G5:SfA|B|BB,Af0,Bfl,CACS-21,
C-11,J2
2011-11-1945
2.3文法的構(gòu)造
?例2-10
?L={0n|n^l}
G6:Sf0|0S
?L={0n|n^0}
G7:S-£|0S
?L={02nl3n|n^0}
G8:EI00S111
2011-11-1946
2.3文法的構(gòu)造
?例2?11構(gòu)造文法G9,使L(G9)={w|w£{a,
b,??.,z}+}o
G9:SfA|AS
A^a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z
?用S―A|AS生成A11。
?不可以用A—>a|b|c|…憶表示。
Afa|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r閭t|u|v|w|x|y|z
?不可以用A->a8表示A->aaaaaaaa。
?不能用Afa11表示A可以產(chǎn)生任意多個(gè)a。
2011-11-1947
2.3文法的構(gòu)造
?例2?12構(gòu)造文法Gio,使
T
L(G10)={ww|we{0,1,2,3}+}。
文法
SfHE
H^O|1|2|3|OH|1H|2H|3H
E^0|l|2|3|E0|El|E2|E3
難以生成MG]。)。
2011-11-1948
2.3文法的構(gòu)造
?{wwT|we{0,1,2,3}+}的句子的特點(diǎn)
設(shè)亞=2正2…/口,從而有wT=an...a2aP故w
T
w=a1a2...anan...a2ax
TTT
滿足f(ww,i)=f(ww,|ww|-i+l)o
遞歸地定義L
一⑴對(duì)Va£{0,1,2,3},aaeL;
一⑵如果x£L,貝U對(duì)Va£{0,1,2,3},axaeL;
-⑶L中不含不滿足(1)、(2)任何其他的串。
2011-11-1949
2.3文法的構(gòu)造
根據(jù)遞歸定義中的第一條,有如下產(chǎn)生式組:
S-00I11I22I33
再根據(jù)遞歸定義第二條,又可得到如下產(chǎn)生式組:
SfOSOI1S1|2S2I3S3
從而,
G10:S-00|11|22|33|OSO|1S1|2S2|3S3
2011-11-1950
2.3文法的構(gòu)造
?例2?13構(gòu)造文法G管,使L(G]2)={W|W是我們習(xí)慣的十
進(jìn)制有理數(shù)}。
Gn:SfR|+R|-R
RfN|B
BfN.D
N->0|AM
D->0|MA
A->1|2|3|4|5|6|7|8|9
M-£|OM|IM|2M|3M|4M|5M|6M|7M|8M|9M
2011-11-1951
2.3文法的構(gòu)造
?例2-14構(gòu)造產(chǎn)生算術(shù)表達(dá)式的文法:
⑴基礎(chǔ):常數(shù)是算術(shù)表達(dá)式,變量是算術(shù)表達(dá)式;
⑵歸納:如果E2是表達(dá)式,則+E「/1、
E[+E)、ErE?、E/E?、EJE,、Fun(E1)
是算術(shù)表達(dá)式。其中Fun為函數(shù)名。
(3)只有滿足(1)和(2)的才是算術(shù)表達(dá)式。
G13:E^id|c|+E|-E|E+E|E-E|E*E|E/E|E**E|Fun(E)
習(xí)題:
給出句子id+id*id的兩個(gè)不同的推導(dǎo)和兩個(gè)不同的規(guī)約
2011-11-1952
2.3文法的構(gòu)造
?例2-15構(gòu)造產(chǎn)生語(yǔ)言{anbncn|n三1}的文法。
文法G=({SJ,{a,b},{Sifab|aS]b},SJ
產(chǎn)生的語(yǔ)言{a%nIn三1}形式上看起來(lái)與語(yǔ)言
{anbncn|n三1}也較接近。
G=({S乙2),{C乙},{S2->C乙IcS乙2),S2)產(chǎn)生的語(yǔ)
言是{cn|n^l}o
{anbncnn^l}#{anbn|n^l}{cn|n三1}
2011-11-1953
2.3文法的構(gòu)造
文法
SfS[S,
S「ab|aSjb
S2^c|cS2
不能產(chǎn)生語(yǔ)言
{anbncn|nNl}
而是產(chǎn)生語(yǔ)言
{anbnn^l}{cnn》l}
2011-11-1954
2.3文法的構(gòu)造
文法
G:Sfabc|aSbc
產(chǎn)生的語(yǔ)言為:
{an(bc)n|n^l}
焦點(diǎn):交換b和c的位置。
2011-11-1955
2.3文法的構(gòu)造
G14:S^aBCIaSBC,
CBfBC
aBfab
bBfbb
bC->bc
cCfcc
GJ:S^abc|aSBc,
bB—bb
cB->Bc
2011-11-1956
習(xí)題
設(shè)£二{a,b,c},構(gòu)造下列語(yǔ)言的文法。
①11=但叫叩1三0}
②L2={anbm|n,m^1}
nnn
③L3={aba|n^l}
nmk
④L4={aba|n5m5k^1}
⑤L5={awa|a£X,w£E+}
T+
⑥L6={XWX|X,WGE}
T+
⑦L7={W|W=W,WGE}
T
⑧L8={XXW|X,w££+}
文法的喬姆斯基體系
?文法G=(V,T,P,S)
?G叫做0型文法(type0grammar),也叫做短
語(yǔ)結(jié)構(gòu)文法(phrasestructuregrammar,
PSG)O
?L(G)叫做。型語(yǔ)言。也可以叫做短語(yǔ)結(jié)構(gòu)語(yǔ)
言(PSL)、遞歸可枚舉集(recursively
enumerable,r.e.)o
2011-11-1958
文法的喬姆斯基體系
?G是0型文法。
?如果對(duì)于V。f8&P,均有|8|三口|成
立,則稱G為1型文法(type1grammar),
或上下文有關(guān)文法(contextsensitive
grammar;CSG)o
,L(G)叫做1型語(yǔ)言(type1language)或者上
下文有關(guān)語(yǔ)言(contextsensitive
language,CSL)。
2011-11-1959
文法的喬姆斯基體系
?G是1型文法
?如果對(duì)于V。f8&P,均有|8|三口|,并且
01£V成立,則稱G為2型文法(type2
grammar),或上下文無(wú)關(guān)文5去(contextfree
grammar;CFG)o
,L(G)叫做2型語(yǔ)言(type2language)或者上下文
無(wú)關(guān)語(yǔ)言(contextfreelanguage,CFL)。
2011-11-1960
文法的喬姆斯基體系
?G是2型文法
?如果對(duì)于Vaf8@P,a-8均具有形式
Afw
A—>wB
其中A,BEV,weT+o則稱G為3型文法
(type3grammar),也可稱為正則文法
(regulargrammar,RG)或者正規(guī)文法。L(G)
叫做3型語(yǔ)言(type3language),也可稱為正
則語(yǔ)言或者正規(guī)語(yǔ)言(regularlanguage,RL)。
2011-11-1961
文法的喬女學(xué)斯基體系
上下文有關(guān)語(yǔ)言
上下文無(wú)關(guān)語(yǔ)言
文法分類舉例
(1)下列文法是RG,CFG,CSG和短語(yǔ)結(jié)構(gòu)文法。
G1:S->O|l|OO|ll
G3:S->O|1|OA|1B,AfO,Bf1
G6:Sf0|0S
(2)下列文法是CFG,CSG和短語(yǔ)結(jié)構(gòu)文法,但不是RG。
G9:SfA|AS
A->a|b|c|dMf|g|h|i|j|k|l|m|n|o|p|q|r閭t|u|v|w|x|y|z
G10:S-00|11|22|33|OSO|1S1|2S2|3S3
G\?:S.R|+R|-R
R—N|B
BfN.D
N-0|AM
D-0|MA
Af112|3|4|5|6|7|8|9
MfOM|IM|2M|3M|4M|5M|6M|7M|8M|9M
G13:E^id|c|+E|-E|E+E|E-E|E*E|E/E|E**E|Fun(E)
2011-11-1964
(3)下列文法是CSG和短語(yǔ)結(jié)構(gòu)文法,但不是
CFG和RG。
G14:S^aBC|aSBC,
CBfBC
aBfab
bBfbb
bCfbe
cC^cc
(4)下列文法是短語(yǔ)結(jié)構(gòu)文法,但不是
CSG,CFG和RG。
G5:SfA,SfB,S-AA,SfBB,Af0,
B-?l,CACS-21,Cf11,Cf2
G7:S-£|0S
G8:£I00S111
G14:S^aBCIaSBC,
CBfBC
aBfab
bBfbb
bJbc
cCfcc
文法分類舉例
設(shè)1={0/11三1},試構(gòu)造滿足要求的文法G。
①G是RG。
②G是CFG,但不是RG。
③G是CSG,但不是CFGo
④G是短語(yǔ)結(jié)構(gòu)文法,但不是CSGo
文法的喬姆斯基體系
(1)如果一個(gè)文法G是RG,則它也是CFG、
CSG和短語(yǔ)結(jié)構(gòu)文法。反之不一定成立。
⑵如果一個(gè)文法G是CFG,則它也是CSG和
短語(yǔ)結(jié)構(gòu)文法。反之不一定成立。
⑶如果一個(gè)文法G是CSG,則它也是短語(yǔ)結(jié)
構(gòu)文法。反之不一定成立。
2011-11-1968
文法的喬姆斯基體系
相應(yīng)地:
(4)RL也是CFL、CSL和短語(yǔ)結(jié)構(gòu)語(yǔ)言。反之
不一定成立。
(5)CFL也是CSL和短語(yǔ)結(jié)構(gòu)語(yǔ)言。反之不一
定成立。
⑹CSL也是短語(yǔ)結(jié)構(gòu)語(yǔ)言。反之不一定成立
(7)當(dāng)文法G是CFG時(shí),L(G)卻可以是RL。
(8)當(dāng)文法G是CSG時(shí),L(G)可以是RL、CSL。
(9)當(dāng)文法G是短語(yǔ)結(jié)構(gòu)文法時(shí),L(G)可以是
-RL、CSL和CSL。69
文法的喬姆斯基體系
定理2口L是RL的充要條件是存在一個(gè)文法,
該文法產(chǎn)生語(yǔ)言L,并且它的產(chǎn)生式要么是形
如:Afa的產(chǎn)生式,要么是形如AfaB的產(chǎn)
生式。其中A、B為語(yǔ)法變量,a為終極符號(hào)。
?證明:
-充分性:設(shè)有G',L(G')=L,且G,的產(chǎn)生式
的形式滿足定理要求。這種文法就是RG。所以,
G'產(chǎn)生的語(yǔ)言就是RL,故L是RL。
2011-11-1970
文法的喬姆斯基體系
?必要性
構(gòu)造:用產(chǎn)生式組:
A—>a]A[
A1fa2A2
???
An.]一々n
代替產(chǎn)生式
A->^2***
2011-11-1971
文法的喬姆斯基體系
?用產(chǎn)生式組
A^a1A1
A]—>a2A2
???
Anjf打心
代替產(chǎn)生式
A->^2***B
2011-11-1972
文法的喬姆斯基體系
?證明L(G,)=L(G)o
施歸納于推導(dǎo)的步數(shù),證明一個(gè)更一
般的結(jié)論:對(duì)于DA£V,A=G+XOA=>
G,+X。因?yàn)镾£V,所以結(jié)論自然對(duì)S成
立。
2011-11-1973
文法的喬姆斯基體系
?幾點(diǎn)注意事項(xiàng)
⑴我們是按照RG的一般定義來(lái)構(gòu)造一個(gè)與
之等價(jià)的文法的,這與讀者以前熟悉的根
據(jù)一個(gè)具體的對(duì)象構(gòu)造另一個(gè)對(duì)象是不同
的。在這里,可以使用的是非常一般的條
件——一個(gè)一般模型。這也是這類問(wèn)題的
證明所要求的。而且在本書的后面,將會(huì)
有更多這樣的情況。
2011-11-1974
文法的喬姆斯基體系
⑵為了證明一個(gè)特殊的結(jié)論,可以通過(guò)證明
一個(gè)更為一般的結(jié)論來(lái)完成。這從表面上
好像是增加了我們要證明的內(nèi)容,但實(shí)際
上它會(huì)使我們能夠更好地使用歸納假設(shè),
以便順利地獲得我們所需要的結(jié)論。
2011-11-1975
文法的喬姆斯基體系
⑶施歸納于推導(dǎo)的步數(shù)是證明本書中不少問(wèn)
題的較為有效的途徑。有時(shí)我們還會(huì)對(duì)字
符串的長(zhǎng)度施歸納。
本證明的主要部分含兩個(gè)方面,首先是構(gòu)造,
然后對(duì)構(gòu)造的正確性進(jìn)行證明。這種等價(jià)
性證明的思路是非常重要的。
2011-11-1976
文法的喬姆斯基體系
?線性文法(linergrammar)
一設(shè)G=(V,T,P,S),如果對(duì)于Vaf8&P,
af6均具有如下形式:
—Afw
—AfwBx
一其中A,BEV,w,x£T*,則稱G為線性文
法。
,線性語(yǔ)言(linerlanguage)
-L(G)叫做線性語(yǔ)言
2011-11-1977
文法的喬姆斯基體系
?右線性文法(rightlinergrammar)
一設(shè)G=(V,T,P,S),如果對(duì)于Vaf8&P,
af6均具有如下形式:
—Afw
—AfwB
一其中A,BEV,w,x£T\則稱G為線性文法。
,右線性語(yǔ)言(rightlinerlanguage)
-L(G)叫做右線性語(yǔ)言。
2011-11-1978
文法的喬姆斯基體系
?左線性文法(leftlinergrammar)
一設(shè)G=(V,T,P,S),如果對(duì)于Vaf8&P,
af6均具有如下形式:
—Afw
—AfBw
一其中A,BEV,w,x£T*,則稱G為線性文
法。
?左線性語(yǔ)言(leftlinerlanguage)
-L(G)叫做右線性語(yǔ)言。
2011-11-1979
文法的喬姆斯基體系
定理2?2L是一個(gè)左線性語(yǔ)言的充要條件是存
在文法G,G中的產(chǎn)生式要么是形如:Afa
的產(chǎn)生式,要么是形如AfBa的產(chǎn)生式,使
得L(G尸L。其中A、B為語(yǔ)法變量,a為終
極符號(hào)。
2011-11-1980
文法的喬姆斯基體系
定理2?3左線性文法與右線性文法等
價(jià)。
?按照定理2“的證明經(jīng)驗(yàn),要想證明本定理,
需要完成如下工作:
-對(duì)任意右線性文法G,我們能夠構(gòu)造出對(duì)應(yīng)的
左線性文法G',使得L(G‘尸L(G);
-對(duì)任意左線性文法G,我們能夠構(gòu)造出對(duì)應(yīng)的
右線性文法G',使得L(G'尸L(G)。
2011-11-1981
文法的喬姆斯基體系
?例2-17語(yǔ)言{0123456}的左線性文法和右線性文法
的構(gòu)造。
?右線性文法
Gr:Sr^0Ar
Ar—>lBr
Br^2Cr
Cr^3Dr
Dr^4Er
Er^5Fr
6
2011-11-1982
文法的喬姆斯基體系
?0123456在文法G「中的推導(dǎo)
Sr=>OAr使用產(chǎn)生式0A「
nOlBr使用產(chǎn)生式ArflBr
=>012Cr使用產(chǎn)生式B「f2Cr
=>0123Dr使用產(chǎn)生式C「f3Dr
=>01234Er使用產(chǎn)生式D「f4Er
=>012345Fr使用產(chǎn)生式E「f5Fr
=>0123456使用產(chǎn)生式6
2011-11-1983
文法的喬姆斯基體系
?左線性文法
G:S[.A]6
A[—^B]5
B「G4
GfD13
D[—>E[2
EifFJ
F1.0
2011-11-1984
文法的喬姆斯基體系
1
(1)
⑺
⑶(4)
2011-11-1985
文法的喬姆斯基體系
?0123456在文法G]中的推導(dǎo)
S]=A]6使用產(chǎn)生式S]-A]6
nB[56使用產(chǎn)生式A]-B]5
M456使用產(chǎn)生式B]-C]4
“3456使用產(chǎn)生式GfD13
nE123456使用產(chǎn)生式D]-E]2
nFJ234456使用產(chǎn)生式FJ
00123456使用產(chǎn)生式F1-0
2011-11-1986
文法的喬姆斯基體系
?0123456被歸約成文法G曾勺開始符號(hào)S
0123456
uF1234456使用產(chǎn)生式
-----1~F1-0
u523456使用產(chǎn)生式E1fFJ
uD3456使用產(chǎn)生式
----1~D]->E]2
uC456使用產(chǎn)生式
----1-G->D]3
UBQ6使用產(chǎn)生式B1fCH
二A6使用產(chǎn)生式A[->B]5
US1使用產(chǎn)生式S]>\6
2011-11-1987
文法的喬姆斯基體系
2011-11-1988
文法的喬姆斯基體系
定理2-4左線性文法的產(chǎn)生式與右線性文法
的產(chǎn)生式混用所得到的文法不是RG。
證明:設(shè)有文法
G15:S-0A
AfSl|l
nn
不難看出,L(G15)={0l|n^l}o我們構(gòu)造不出
RGG,使得L(G尸L(G”尸{Onln|n21}。因?yàn)?/p>
L(Gi5)={0nln|n21}不是RL。所以,心不是RG。
有關(guān):亥語(yǔ)言不是RL的證明我們將留到研究RL的
性質(zhì)時(shí)去完成。
2011-11-1989
2.5空語(yǔ)句
?形如Af£的產(chǎn)生式叫做空產(chǎn)生式,也可叫
做£產(chǎn)生式。
?在RG、CFG、CSG中,都不能含有空產(chǎn)生
式。所以,任何CSL中都不含有空語(yǔ)句
£o從而CFL和RL中都不能含空語(yǔ)句£。
?空語(yǔ)句£在一個(gè)語(yǔ)言中的存在并不影響該
語(yǔ)言的有窮描述的存在性,甚至除了為生
成空語(yǔ)句£外,空產(chǎn)生式可以不被用于語(yǔ)
言中其他任何句子的推導(dǎo)中。
2011-11-1990
2.5空語(yǔ)句
?允許CSL、CFL、RL包含空語(yǔ)句£后,還會(huì)
給我們進(jìn)行問(wèn)題的處理提供一些方便。
?允許在RG、CFG、CSG中含有空產(chǎn)生式
?允許CSL、CFL、RL包含空語(yǔ)句8o
2011-11-1991
2.5空語(yǔ)句
定理2?5設(shè)G=(V,T,P,S)為一文法,則存在與G同
類型的文法G'=(V',T,P',S'),使得
L(G)=L(G'),但G,的開始符號(hào)S,不出現(xiàn)在G'
的任何產(chǎn)生式的右部。
證明:
構(gòu)造
當(dāng)文法G=(V,T,P,S)的開始符號(hào)S不出現(xiàn)在P中的任
何產(chǎn)生式的右部時(shí),G就是所求
GF=(VU{Sr},T,P\SO
Pz=PU{SZ0f£P(guān)}
2011-11-1992
2.5空語(yǔ)句
?證明L(G)=L(G,)
對(duì)任意的x£L(G'),由文法產(chǎn)生的語(yǔ)
言的定義知,在G'中存在如下推導(dǎo):
S,na使用產(chǎn)生式S,-a
n*x使用P,中的除S,fa以外
的其他產(chǎn)生式。
在推導(dǎo)an*x中使用的產(chǎn)生式都是P中
的產(chǎn)生式。因此,推導(dǎo)an*x在G中仍然成
立。
2011-11-1993
2.5空語(yǔ)句
由P'的定義知,必有Sf及£P(guān)
所以,
Sna使用P中的產(chǎn)生式S—a
n*x使用P中的產(chǎn)生式
故,
L(GZ)cL(G)
2011-11-1994
2.5空語(yǔ)句
設(shè)G中存在如下推導(dǎo):
Sna使用P中的產(chǎn)生式Sfa
n*x使用P中的產(chǎn)生式
由P,=PU{SZ.aep},知道G,中,
S'na使用產(chǎn)生式S,TOL
n*x使用P,所包含的P中的其他
產(chǎn)生式。
故,L(G)cL(Gz)o
2011-11-19
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高碑店假山的施工方案
- 碎石加工施工方案
- 總包與勞務(wù)分包消防協(xié)議
- 基坑爬梯施工方案
- 逆變一體機(jī)基礎(chǔ)施工方案
- 佛山歐式花園施工方案
- 上海倍發(fā)信息科技有限公司股東全部權(quán)益價(jià)值資產(chǎn)評(píng)估報(bào)告
- 建元信托2024年度審計(jì)報(bào)告及財(cái)務(wù)報(bào)表
- 浙江紡織電纜托架施工方案
- 澄海區(qū)中學(xué)初二數(shù)學(xué)試卷
- 好的心理治愈只需一次:《了凡四訓(xùn)》的心理學(xué)解讀
- 三年級(jí)aredcoat公開課一等獎(jiǎng)?wù)n件省賽課獲獎(jiǎng)?wù)n件
- 污水處理廠項(xiàng)目委托運(yùn)營(yíng)協(xié)議
- 小螞蟻搬家繪本故事
- 開展因私出國(guó)境管理工作的自查報(bào)告10篇
- 分子克隆及蛋白表達(dá)常見問(wèn)題和對(duì)策
- 全美國(guó)聯(lián)邦刑事訴訟規(guī)則(中英文對(duì)照)
- 哈爾濱LED廣告市場(chǎng) 媒體數(shù)據(jù)分析
- 載波與測(cè)距碼
- 鋼結(jié)構(gòu)設(shè)計(jì)手冊(cè)
- (新版)特種設(shè)備安全管理高分通關(guān)題庫(kù)600題(附答案)
評(píng)論
0/150
提交評(píng)論