第3部分文法和语言.ppt
《第3部分文法和语言.ppt》由会员分享,可在线阅读,更多相关《第3部分文法和语言.ppt(99页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第3部分文法和语言 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望 当我们表述一种语言时,无非是说明这种当我们表述一种语言时,无非是说明这种语言的句子,如果语言只含有有穷多个句子,语言的句子,如果语言只含有有穷多个句子,则只需列出句子的有穷集就行了,但对于含有则只需列出句子的有穷集就行了,但对于含有无穷句子的语言来讲,存在着如何给出它的有无穷句子的语言来讲,存在着如何给出它的有穷表示的问题。穷表示的问题。以自然语言为例,人们无法列出全部句子,以自然语言为例,人们无
2、法列出全部句子,但是人们可以给出一些规则,用这些规则来说但是人们可以给出一些规则,用这些规则来说明明(或者定义或者定义)句子的组成结构,比如汉语句子句子的组成结构,比如汉语句子可以是由主语后随谓语而成,构成谓语的是动可以是由主语后随谓语而成,构成谓语的是动词和直接宾语,我们采用词和直接宾语,我们采用EBNF来表示这种句来表示这种句子的构成规则:子的构成规则:3.1 文法的直观概念 BNF范式和语法图1、巴科斯范式:EBNF|你|我|他王明|大学生|工人是|学习|带的叫非终止符,不带的叫终止符。True|False 例子:我 我 我是 我是 我是大学生“我是大学生我是大学生”的构成符合上述规则,
3、的构成符合上述规则,而而“我大学生是我大学生是”不符合上述规则,我们说不符合上述规则,我们说它不是句子。这些规则成为我们判别句子它不是句子。这些规则成为我们判别句子结构合法与否的依据,换句话说,这些规结构合法与否的依据,换句话说,这些规则看成是一种元语言,用它描述汉语。这则看成是一种元语言,用它描述汉语。这里仅仅涉及汉语句子的结构描述。其中一里仅仅涉及汉语句子的结构描述。其中一种描述元语言称为文法。种描述元语言称为文法。语言概述语言概述语言是由句子组成的集合,是由一组符号所构成语言是由句子组成的集合,是由一组符号所构成的集合。的集合。汉语汉语-所有符合汉语语法的句子的全体所有符合汉语语法的句子
4、的全体英语英语-所有符合英语语法的句子的全体所有符合英语语法的句子的全体程序设计语言程序设计语言-所有该语言的程序的全体所有该语言的程序的全体 每个句子构成的规律每个句子构成的规律研究语言研究语言 每个句子的含义每个句子的含义 每个句子和使用者的关系每个句子和使用者的关系研究程序设计语言研究程序设计语言 每个程序构成的规律每个程序构成的规律 每个程序的含义每个程序的含义 每个程序和使用者的关系每个程序和使用者的关系语言研究的三个方面语言研究的三个方面 语法语法 Syntax 语义语义 Semantics 语用语用 Pragmatics语法语法-表示构成语言句子的各个记号之间表示构成语言句子的各
5、个记号之间的组合规律的组合规律语义语义-表示各个记号的特定含义。(各个表示各个记号的特定含义。(各个记号和记号所表示的对象之间的关系)记号和记号所表示的对象之间的关系)语用语用-表示在各个记号所出现的行为中,表示在各个记号所出现的行为中,它们的来源、使用和影响。它们的来源、使用和影响。每每种种语语言言具具有有两两个个可可识识别别的的特特性性,即即语语言言的形式和该形式相关联的意义。的形式和该形式相关联的意义。语语言言的的实实例例若若在在语语法法上上是是正正确确的的,其其相相关关联联的的意意义义可可以以从从两两个个观观点点来来看看,其其一一是是该该句句子子的的创创立立者者所所想想要要表表示示的的
6、意意义义,另另一一是是接接收收者者所所检检验验到到的的意意义义。这这两两个个意意义义并并非非总总是是一一样样的的,前前者者称称为为语语言言的的语语义义,后后者者是是其其语语用用意意义义。幽幽默默、双双关关语语和和谜谜语语就就是是利利用用这这两两方方面面意意义义间间的的差异。差异。如如果果不不考考虑虑语语义义和和语语用用,即即只只从从语语法法这这一一侧侧面面来来看看语语言言,这这种种意意义义下下的的语语言言称称作作形形式式语语言言。形形式式语语言言抽抽象象地地定定义义为为一一个个数数学学系系统统。“形形式式”是是指指这这样样的的事事实实:语语言言的的所所有有规规则则只只以以什什麽麽符符号号串串能
7、能出出现现的的方方式式来来陈陈述述。形形式式语语言言理理论论是是对对符符号号串串集集合合的的表表示示法法、结结构构及及其其特特性性的的研研究究。是是程程序序设设计计语语言言语语法法分分析研究的基础。析研究的基础。例子:整数(1)单个数字是整数 (2)整数再接上数字仍是整数用BNF范式表示:0|1|2|9|所以合起来有:|0|1|2|9 标识符:以字母开头以后由字母和数字组成的符号串。例子:的巴科斯范式 a|b|z 0|1|9例子:判定字符串a4y是 y y 4y 4y a4y2、语法图 作用:直观、形象的描述语法规则。例子:标识符的语法图表示标识符字母字母数字例子:无符号数的语法图表示 2.4
8、5E+12无符号数无符号整数数字E E无符号整数3.2 3.2 符号和符号串符号和符号串1、字母表:它是非空有穷集。例如:=a,b,c或=1,2,32、符号:字母表中的元素称为符号。3、符号串:符号的有穷序列,符号串也称为字。用来表示空符号串。例如:a,ab,abc,dsfsd4、长度:符号串的长度是指该串所包含的符号个数。用|x|表示符号串x的长度。例如:|a|=1,|abn|=35、连结:设x和y为符号串,则称xy 为他们的连结。例如:x=aa,y=bb,则xy=aabb6、空集:不含任何元素的集合,记为。7、乘积:设A和B是符号串集,则用AB表示A和B的乘积。A=a,b,B=c,d,则A
9、B=ac,ad,bc,bd8、方幂:设A为符号串集,则定义 A0=A1=A An=An-1 A 例如:A=a,b 则有:A0=A1=a,b A2=aa,ab,ba,bb9、正闭包:设A为符号串集,则用A+表示A的正闭包,其具体定义如下:A+=A1A2A3 例如:A=a,A+=a,aa,aaa,10、星闭包:设A为一集合,则定义A的星闭包为A*,其具体定义如下A*=A0A+例如:A=a,A*=,a,aa,aaa,一、引言 例子:y:=a+b*x 语法:赋值语句由变量加“:=”加表达式构成。语义:右边表达式求值与左变量结合赋值。用途:表达式的值的保存和计算。3.3 3.3 文法与语言文法与语言的形
10、式定义的形式定义 形式化方法:用一整套带有严格规定的符号体系来描述问题的理论和方法。表示文法需要一种工具,其中最常用的工具是所谓的巴克斯范式(BNF)。例子:A=an|n1 A=a2n|n1 其BNF表示有:其BNF表示有:(1)Aa|aA (1)Aaa|aaA(2)Aa|Aa (2)Aaa|Aaa例子:A=abna|n1 其BNF表示有多种如下:(1)AaBa Bb|Bb (2)AaBa Bb|bB (3)AaB Bba|bB如何来描述一种语言?如何来描述一种语言?如果语言是有穷的(只含有有穷多个句子),可以将如果语言是有穷的(只含有有穷多个句子),可以将句子逐一列出来表示句子逐一列出来表示
11、如果语言是无穷的,找出语言的有穷表示。语言的有如果语言是无穷的,找出语言的有穷表示。语言的有穷表示有两个途经:穷表示有两个途经:生成方式生成方式(文法):语言中的每个句子可以用严格(文法):语言中的每个句子可以用严格定义的规则来构造。定义的规则来构造。识别方式识别方式(自动机):用一个过程,当输入的一任(自动机):用一个过程,当输入的一任意串属于语言时,该过程经有限次计算后就会停止意串属于语言时,该过程经有限次计算后就会停止并回答并回答“是是”,若不属于,要麽能停止并回答,若不属于,要麽能停止并回答“不不是是”,(要麽永远继续下去。),(要麽永远继续下去。)文法即是生成方式描述语言的:语言中的
12、文法即是生成方式描述语言的:语言中的每个句子可以用严格定义的规则来构造每个句子可以用严格定义的规则来构造.下面给出文法的定义下面给出文法的定义.进而在文法的定义进而在文法的定义的基础上的基础上,给出推导的概念给出推导的概念,句型、句子句型、句子和语言的定义和语言的定义.定义定义文法G定义为四元组(VN,VT,P,S)其中VN为非终结符号(或语法实体,或变量)集;VT为终结符号集;P为产生式(也称规则)的集合;VN,VT和P是非空有穷集。S称作识别符号或开始符号,它是一个非终结符,至少要在一条产生式中作为左部出现。VN和VT不含公共的元素,即VN VT=用V表示VN VT,称为文法G的字母表或字
13、汇表规则规则,也称重写规则重写规则、产生式产生式或生成式生成式,是形如或=的(,)有序对,其中是字母表V的正闭包V+中的一个符号,是V*中的一个符号。称为规则的左部,称作规则的右部。文法的定义文法的定义例例 文法文法G=(VN,VT,P,S)VN=S,VT=0,1 P=S0S1,S01 S为开始符号为开始符号例例 文法文法G=(VN,VT,P,S)VN=标识符,字母,数字标识符,字母,数字VT=a,b,c,x,y,z,0,1,9P=a,zz 0,0,99 S=文法的写法文法的写法 1 G 1 G:SaASaAb Aab Aab AaA AaAb A A 2 GS 2 GS:Aab AaA Aa
14、b AaAb A A SaSSaSb 3 GSGS:Aab|aAAab|aAb|SaS|SaSb二、文法和语言形式定义1、规则式,产生式例子例子:Bb|Bb Aa|A2、文法GZ:规则的非空有穷集合。Z:识别符号,开始符号。V:字母表,符号集合。例子例子:GS=S0,S,1 VS,0,1定义3.1 文法是一个四元组G(VN,VT,P,Z)。非终极符集记为VN(大写字母)终极符集记为VT(小写字母)产生式集记为P 初始符记为Z例子:自然数G1(VN,VT,P,Z)和标识符G2(VN,VT,P,I)VN=N,D VT=0,1,2,9P=ND|ND,D0|1|2|9 G1:ND|ND D0|1|2|
15、9标识符G2(VN,VT,P,I)VN=I,D,L VT=0,1,2,9,a,bzP=IL|IL|ID,La|b|z D0|1|2|9 G2:IL|IL|ID La|b|c|z D0|1|2|9定义3.21、直接推导:设x和y是符号串,若用一次产生式可从x导出y,则称y为x的直接推导,并记为xy。例子:x=Ab,y=ab,Aa,Abab2、推导:若用若干次产生式可从x串导出y串,则称y为x的推导,并记为x y。+例子:X=AB,Aa,Bb ABaBab 即:AB ab+*3、星推导:x y(当且仅当x=y或xy)。例子:ABAB 0步 ABaB 1步 AB ab 2步 即:AB ab+*+4、
16、句型:称x为句型,若有Z x,其中Z是文法的开始符。凡是由初始符推出的任意符号集合叫句型。例子:ZAB,Aa,Z aB5、句子:称x为句子,若有Z x,且x中不包含非终极符的句型。不包含非终极符的句型叫句子。*例子:GS:S0S1 S01解:S0S1 00S11 000111所以有:S=01,0011,000111 L(G)=0n1n|n16、语言:所有句子的集合称为语言。设是G给定文法,Z是开始符,则语言L(G)可描述如下:定义3.3 设G1,G2为给定文法,如果L(G1)=L(G2),则称G1和G2等价。L(G)=x|Z x,xVT*例1 已知文法求语言并判断是否等价 G1=(VN,VT,
17、P,A)G2=(VN,VT,P,Z)VN=A VN=A,B VT=a,b VT=a,b P=Aab P=ABb,BaA1ab L(G1)=abA2Bbab L(G2)=ab G1与G2是等价的。例2:G3S:SA|S-A Aa|b|c G4S:SA|A-S Aa|b|c推导过程如下:SS-ASS-AAabcS-AS-A-AA-A-Aa-b-c G3与G4等价,但G3与G4的语义不同。推导过程如下:SA-SSA-SAA-SA-A-SA-A-Aa-b-cabca-b-c和a-b-c文法的等价文法的等价若若L(G1)=L(G2),则称文法),则称文法G1和和G2是等是等价的。价的。如文法如文法G G
18、1AA:A0R A0R 与与G G2SS:S0S1 S0S1 等价等价 A01 S01 A01 S01 RA1 RA1定义3.4 F 0型文法(短语结构文法):产生式为:,其中和是符号串。F 1型文法(上下文有关文法):产生式为:Au,其中AVN,u为非空串。F 2型文法(上下文无关文法):A,其中AVN,为非空串。3.4 3.4 文法文法的类型的类型 F 3型文法(正则文法):产生式为:Aa,AbB,其中A,BVN,#a,bVT是符号串。例子:GZ:Za ZaA Ab|bB Bb所以:GZ是3型文法 文法的类型文法的类型例:例:1 1型(上下文有关)文法型(上下文有关)文法 文法文法GSGS
19、:SCD SCDAbbAAbbA CaCA CaCABaaBBaaB CbCB CbCBBbbBBbbBADaDADaD C CBDbDBDbD D DAabDAabD文法的类型文法的类型例:例:2 2型(上下文无关)文法型(上下文无关)文法 文法文法GS:SABABABS|0BS|0BSA|1SA|13型文法型文法GS:S0A|1B|00A|1B|0A0A|1B|0S0A|1B|0SB1B|1|01B|1|0GI:I lT lTI l lT lT lTT dT dTT l lT d d文法的类型文法的类型2型文法型文法1型文法型文法0型文法型文法四种文法之间的逐级四种文法之间的逐级“包含包含
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 部分 文法 语言
限制150内