《文法和语言》PPT课件.ppt
《《文法和语言》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《文法和语言》PPT课件.ppt(69页珍藏版)》请在三一办公上搜索。
1、第二章 文法和语言,学习目标:掌握:自上而下与自下而上的分析思想理解:文法的形式定义,推导,归约,句型,句子,语言,上下文无关文法,规范句型,语法树,短语,直接短语,句柄了解:文法的类型,文法实用中的限制,文法的二义性,2.1语言和文法的直观概念2.2符号和符号串2.3文法和语言的形式定义2.4文法的类型2.5上下文无关文法及其语法树2.6句型的分析,2.1 语言和文法的直观概念,程序设计语言的直观定义程序设计语言是一个记号系统,它的定义包括语法和语义。语法(syntax)定义:是一组规则,用它可以形成和产生一个合适的程序描述工具:文法作用:定义什么样的符号序列是合法的,与符号的含义无关。,语
2、义(semantics)分类:静态语义:一系列限定规则,确定哪些合乎语法的程序是合适的动态语义:表明程序要做什么描述工具:指称语义,操作语义等作用:检查类型匹配,变量作用域等,文法的直观概念,如何来描述一种语言?如果语言是有穷的(只含有有穷多个句子),可以将句子逐一列出来表示如果语言是无穷的,要找出语言的有穷表示。有两个途经:生成方式(文法):语言中的每个句子可以用严格定义的规则来构造识别方式(自动机):用一个过程,当输入的一任意串属于语言时,该过程经有限次计算后就会停止并回答“是”,若不属于,要么能停止并回答“不是”,要么永远继续下去。,文法:是语言语法的描述工具,实现用有穷的规则把语言的无
3、穷句子集描述出来。,例:“我是大学生”是汉语的一个句子汉语句子的构成规则表示如下:句子=主语谓语主语=代词名词代词=我你他名词=王明大学生工人英语谓语=动词直接宾语动词=是学习直接宾语=代词名词,例:“(34-3)*42”是一个表达式表达式的构成规则表示如下:Exp=Exp op Exp|(Exp)|NumberOp=+|*,由规则推导句子,方法:用一条规则=的右端符号串代替:=的左端.表示:用“=”表示推导,含义是,使用一条规则,代替=左边的某个符号,产生=右端的符号串.,例如:句子“我是大学生”的推导过程如下:句子 主语谓语 代词谓语 我谓语 我动词直接宾语 我是直接宾语 我是名词 我是大
4、学生,文法的作用严格定义句子的结构,是判断句子结构合法与否的依据用有穷的规则把无穷的句子集合描述出来,2.2 符号和符号串,字母表定义:元素的非空有穷集合例:=01=ab,c元素也称为符号,字母表也称符号集。程序语言的字母表由字母数字和若干专用符号组成。,符号串定义:由字母表中的符号组成的任何有穷序列例:0,00,10是字母表=01上的符号串 a,ab,aaca是=ab,c上的符号串在符号串中,符号是有顺序的,顺序不同,代表不同的符号串,如:ab和ba不同不含任何符号的符号串称为空串,用表示注意:并不等于空集合 符号串长度:符号串中含有符号的个数如:|abc|=3|=0,符号串的运算符号串的连
5、接:设x、y是符号串,它们的连接是把y的符号写在 x的符号之后得到的符号串xy例如 x=ST,y=abu 则 xy=STabu 显然x=x=x符号串的方幂:把符号串a自身连接n次得到的符号串an=aaaa例如 a1=a a2=aa a0=,符号串集合:定义:若集合A中所有元素都是某字母表上的符号串,则称A为字母表上的符号串集合。符号串集合的乘积:符号串集合A和B的乘积定义为:AB=xy|xA且yB,即AB是由A中的串x和B中的串y连接而成的串xy组成的集合。若集合A=ab,cde B=0,1 则 AB=ab0,ab1,cde0,cde1显然A=A=A,符号串集合的方幂:设A是符号串的集合,则称
6、Ai为符号串集A的方幂,其中i是非负整数。具体定义如下:A0=A1=A,A2=A AAK=AA.A(k个),集合的闭包闭包集合的闭包*定义如下:*=0 1 2 3例:设有字母表=0,1则*=012=,0,1,00,01,10,11,000,即*表示上所有有穷长的串的集合。,正闭包+=1 2 3称为的正闭包。+表示上的除外的所有用穷长串的集合*=0+=*=*,字母表上的一个语言是上的一些符号串的集合 即是*的一个子集例如:=a,b*=,a,b,aa,ab,ba,bb,aaa,aab,集合ab,aabb,aaabbb,anbn,或w|w*且w=anbn,n1为字母表上的一个语言。集合a,aa,aa
7、a,或w|w*且w=an,n1为字母表上的一个语言是一个语言即 是一个语言。,2.3文法和语言的形式定义,1文法的定义2文法的简化表示法3推导与归约4句型、句子、语言的定义5文法的等价,1文法的定义,产生式(规则)产生式是一个有序对(,),通常写作(或:=)文法定义:文法G(Grammar)定义为四元组(VN,VT,P,S)VN(Nonternimal):非终结符集VT(Terminal):终结符集P(Production):产生式(规则)集合S(Start Symbol):开始符号或识别符号,说明:V=VNVT,V称为文法G的字母表P中产生式形如:,其中V+且至少含一个非终结符,V*VN,V
8、T和P是非空有穷集VNVT=S是一个非终结符,且至少要在一条产生式的左部出现,汉语句子的构成规则表示如下:句子=主语谓语主语=代词名词代词=我你他名词=王明大学生工人英语谓语=动词直接宾语动词=是学习直接宾语=代词名词,例1:文法G=(VN,VT,P,S)其中VN=S,VT=0,1,P=S-0S1,S-01,开始符为S例2:文法G=(VN,VT,P,S)VN=标识符,字母,数字,VT=a,b,c,x,y,z,0,1,9P=,a,z,0,9,S=,2文法的简化表示法,简化:通常不用将文法的四元组表示出来,只写出产生式约定:第一条产生式的左部是开始符号或用GS表示S是开始符号用大写字母(或用尖括号
9、括起来)表示非终结符用小写字母表示终结符左部相同的产生式A-,A-可以记为A-|,其中“|”是“或”的意思,,分别称为侯选式,例如:文法GS:S-A|SA|SDA-a|b|zD-0|1|9,3.推导(Derivation)与归约(Reduction),直接推导和直接归约:是文法G的产生式,若有v,w满足:v=,w=,其中,V*则称v直接推导到w,也称w直接归约到v,记作 v w直接推导就是用产生式的右部替换产生式的左部的过程直接归约就是用产生式的左部替换产生式的右部的过程,例 文法G:S0S1,S01 有直接推导:0S1 00S11(S0S1)00S11 000S111(S0S1)000S11
10、1 00001111(S01)S 0S1(S0S1),推导和归约若存在v=w0 w1.wn=w,(n0)则称v推导出w,或w归约到v,记为v=+w若有v=+w,或v=w,则记作v=*w,例 文法G:S0S1,S01 S 0S1 00S11 000S111 00001111 S=+00001111S=*00001111 S=*S,规范推导如果在推导的任何一步,都是对中的最左(最右)非终结符进行替换,则称这种推导为最左(最右)推导最右推导被称为规范推导,例如:句子“我是大学生”的推导过程如下:句子 主语谓语 代词谓语 我谓语 我动词直接宾语 我是直接宾语 我是名词 我是大学生,例 文法G:EE+T
11、|T TTF|F F(E)|i“i+ii”的推导过程如下:最左推导:E=E+T=T+T=F+T=i+T=i+TF=i+FF=i+iF=i+ii最右推导:E=E+T=E+TF=E+Ti=E+Fi=E+ii=T+ii=F+ii=i+ii,4句型、句子、语言的定义,句型和句子设有文法GS,若符号串x是从开始符推导出来的,即S=*x,则称x是文法G的句型若x仅由终结符组成,即S=*x,且xVT*,则称x是文法G的句子由规范推导所得的句型称为规范句型例 文法GS:S0S1,S01S 0S1 00S11 000S111 00001111S,0S1,00S11,000S111,00001111都是G的句型0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 文法和语言 文法 语言 PPT 课件

链接地址:https://www.31ppt.com/p-5520628.html