编译原理第讲文法和语法课件.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《编译原理第讲文法和语法课件.ppt》由会员分享,可在线阅读,更多相关《编译原理第讲文法和语法课件.ppt(63页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、编译原理课件第讲文法和语法第1页,此课件共63页哦第一节第一节 语语 言言语言语言语言语言:是由句子组成的集合。是由句子组成的集合。是由句子组成的集合。是由句子组成的集合。汉语汉语-所有符合汉语语法的句子的全体所有符合汉语语法的句子的全体英语英语-所有符合英语语法的句子的全体所有符合英语语法的句子的全体程序设计语言程序设计语言-所有该语言的程序的全体所有该语言的程序的全体研究语言研究语言:每个句子构成的规律每个句子构成的规律每个句子的含义每个句子的含义每个句子和使用者的关系每个句子和使用者的关系第2页,此课件共63页哦研究程序设计语言:研究程序设计语言:每个程序构成的规律 每个程序的含义 每个
2、程序和使用者的关系语言研究的三个方面:语言研究的三个方面:语法 Syntax 语义 Semantics 语用 Pragmatics第3页,此课件共63页哦语法语法:表示构成语言句子的各个记号之间的 组合规律组合规律 语义语义:表示按照各种表示方法所表示的各个 记号的特定含义。(各个记号和记号所 表示的对象之间的关系)语用语用:表示在各个记号所出现的行为中,它 们的来源、使用和影响。第4页,此课件共63页哦第二节第二节 文文 法法“我是大学生”是否是该语言的句子?句子句子:=主语谓语主语谓语主语主语:=代词代词|名词名词代词代词:=你你|我我|他他名词名词:=王明王明|大学生大学生|工人工人|英
3、语英语谓语谓语:=动词直接宾语动词直接宾语动词动词:=是是|学习学习直接宾语直接宾语:=代词代词|名词名词以自然语言为例,用 EBNF(扩展的巴科斯范式)描述一种语言:第5页,此课件共63页哦句子句子 主语谓语主语谓语 句子句子:=主语谓语主语谓语主语主语:=代词代词|名词名词代词代词:=你你|我我|他他名词名词:=王明王明|大学生大学生|工人工人|英语英语谓语谓语:=动词直接宾语动词直接宾语动词动词:=是是|学习学习直接宾语直接宾语:=代词代词|名词名词 代词代词谓语谓语 我我谓语谓语 我我动词动词直接宾语直接宾语 我我是是直接宾语直接宾语 我是我是名词名词 我是我是大学生大学生 第6页,此
4、课件共63页哦句子句子:=主语谓语主语谓语主语主语:=代词代词|名词名词代词代词:=你你|我我|他他名词名词:=王明王明|大学生大学生|工人工人|英语英语谓语谓语:=动词直接宾语动词直接宾语动词动词:=是是|学习学习直接宾语直接宾语:=代词代词|名词名词下列是否是句子下列是否是句子?我大学生是我大学生是 他是工程师他是工程师 大学生是王明大学生是王明第7页,此课件共63页哦事实上,使用文法作为工具,不仅为了严格定义句子的结构,也是为了用适当条数的规则把语言的全部句子描述出来。文法文法是以有穷的集合刻画无穷的集合的一个工具。第8页,此课件共63页哦第三节第三节 符号和符号串符号和符号串字母表字母
5、表:元素的:元素的非空有穷非空有穷集合。(符号集)集合。(符号集)符号符号:字母表中的元素。:字母表中的元素。例如:例如:汉语的字母表中汉语的字母表中 包括汉字、数字及标点符号等。包括汉字、数字及标点符号等。PASCAL PASCAL语言的字母表语言的字母表 是由字母、数字、若干专用符号及是由字母、数字、若干专用符号及BEGINBEGIN、IF IF之类的保留字组成。之类的保留字组成。第9页,此课件共63页哦 符号串符号串:由字母表中的符号组成的任何有穷序列 称为该字母表上的符号串。1.空符号串(没有符号的符号串)是上的符号串。2.若x是上的符号串,a是的元素,则xa和ax是上的 符号串。3.
6、y是上的符号串,当且仅当它可以由1和2导出。例如:=a,b,a,b,aa,ab,aabba,都是上的符号串。第10页,此课件共63页哦例:=0,1,0,1,00,01,11,1001110 等都是上的符号串.例:=a,b,c上的符号串有:a,b,c,ab,ba,aaca,acaa 等.注意:注意:1.符号串中的符号排列是有顺序的.2.可以用字母表示符号串,如:x=aaca第11页,此课件共63页哦如果如果 z=xy 是一符号串,那么:vv x x 是是 z 的头的头(前缀前缀),y y 是是 z 的尾的尾(后缀后缀);vv 如果如果 x 非空,那么非空,那么 y y 是固有尾;如果是固有尾;如
7、果 y y 非非 空,那么空,那么 x 是固有头。是固有头。例:例:例:例:设设设设 z=abc,z=abc,z=abc,z=abc,那么那么那么那么z z z z 的头是:的头是:的头是:的头是:,a,ab,abc,a,ab,abc(除除 abc abc 外都是固有头)外都是固有头)z z z z 的尾是:的尾是:的尾是:的尾是:,c,bc,abc,c,bc,abc(除除 abc abc 外都是固有尾)外都是固有尾)第12页,此课件共63页哦几种表示法(x,z是符号串,t是符号):z=x x 是符号串 z 的头z=x x 是符号串 z 的尾z=x x 在符号串z 中某处出现z=t 符号 t
8、是 符号串 z 的第一个符号z=t 符号 t 是 符号串 z 的最后一个符号第13页,此课件共63页哦符号串的运算符号串的运算 符号串的长度符号串的长度:符号串中符号的个数。符号串符号串中符号的个数。符号串s s的的 长度记为长度记为|s|s|。的长度为的长度为0 0。连连 接接:符号串符号串x x、y y的连接的连接,是把是把y y的符号写在的符号写在x x的符的符 号之后得到的符号串号之后得到的符号串xyxy 例:例:x=STx=ST,y=abu y=abu 则则 xy=STabuxy=STabu|x|=2|x|=2,|y|=3|y|=3,|xy|=5|xy|=5 x=x=x x=x=x第
9、14页,此课件共63页哦 方方 幂幂 符号串符号串x x自身连接自身连接n n次得到的符号串次得到的符号串 xxxxxx(nxx(n个个x)x)表表示为示为 x xn n x x0 0=,x=,x1 1=x,x=x,x2 2=xx=xx,x xn n=xx=xx x x x=AB,x=AB,则则 x x0 0=,x=,x1 1=AB,x=AB,x2 2=ABAB,x=ABAB,x3 3=ABABAB=ABABAB 对于对于 n0,xn0,xn n=xx=xxn-1 n-1=x=xn-1n-1x x 第15页,此课件共63页哦符号串集合:符号串集合:若集合若集合A中一切元素都是某字母表中一切元素
10、都是某字母表 上上 的符的符 号串,则称号串,则称A为字母表为字母表 上的符号串集合。上的符号串集合。两个符号串集合两个符号串集合A和和B的乘积:的乘积:定义为定义为 AB =AB =xy|x xy|x xy|x xy|x A A A A 且且且且 y y y y B B B B 例:例:若,若,集合集合A=a,ba,b B=c,dc,d 则则,AB=ac,ad,bc,bdac,ad,bc,bd A=A A=A A=A A=A =A=A=A=A(x=x=x)(x=x=x)闭闭 包:包:使用使用 *表示表示 上的所有有穷长的串(包括上的所有有穷长的串(包括)的的 集合。集合。*称为称为的的闭包。
11、闭包。正闭包:正闭包:从从*中除去中除去得到得到的集合记为的集合记为+。+称为称为的的 正闭包。正闭包。第16页,此课件共63页哦*=0 1 2 n +=1 2 n *=0 +=*=*+=*-例例1 1:设=0,1,则:*=,0,1,00,01,10,11,000,001,010,例例2 2:设=a,b,则 *=,a,b,aa,ab,ba,bb,aaa,aab,+=a,b,aa,ab,ba,bb,aaa,aab,第17页,此课件共63页哦第四节第四节 文法和语言的形式定义文法和语言的形式定义产生式产生式(重写规则、规则或生成式),是形如或=的(,)有序对,其中是某字母表V的正闭包V+中的一个符
12、号串,是V*中的一个符号串。(V+,V*)称为产生式产生式的左部的左部(或规则的左部)。称为产生式的右部产生式的右部(或规则的右部)。第18页,此课件共63页哦一、一、文文 法法 的的 定定 义义文文 法法 G:定义为四元组四元组(VN,VT,P,S),其中VN :非终结符集VT :终结符集P :产生式(规则)集合S :开始符号(起始符、识别符号)VN、VT 和 P 是非空有穷集。S 至少在一条规则中作为左部出现。VNVT=,SVN,V=VNVT,称为文法G的字母表(字汇表)注:有的参考书用(VT,VN,S,P)表示文法。第19页,此课件共63页哦例3.1 文法G=(VN,VT,P,S)VN
13、=S,VT=0,1 P =S0S1,S01 S为开始符号 或写成:GS:S0S1,S01 第20页,此课件共63页哦例3.2 文法G=(VN,VT,P,S)VN=标识符,字母,数字VT=a,b,c,x,y,z,0,1,9P=,a,z,0,,9 S=第21页,此课件共63页哦习惯上只将产生式写出。并有如下约定:习惯上只将产生式写出。并有如下约定:第一条产生式的左部是开始符号用尖括号括起的是非终结符,否则为终结符。或者大写字母表示非终结符,小写字母表示终结符G可写成GS,其中S是开始符号第22页,此课件共63页哦例3.3 文法 G=(VN,VT,P,S)VN=S,VT =0,1 P=S0S1,S0
14、1 S为开始符号可写成:GS:S0S1 S01或写成:GS:S0S1 01注:把注:把“0S10S1”和和“0101”称为产生式称为产生式 S0S1 01 S0S1 01 的候选式的候选式第23页,此课件共63页哦二、二、推推 导导 的的 定定 义义直接推导直接推导 “”是文法G的产生式,,V*,若有v,w满足:v=,w=,则说:v(应用规则)直接产生w或说:w是v的直接推导,直接推导,或说:w直接归约直接归约到v,记作 v w例:G:S0S1,S01直接推导:0S1 0011 (v=0S1,w=0011,使用规则S01,=0,=1)S 0S1 (v=S,w=0S1,使用规则S0S1,=,=)
15、0S1 00S11 (v=0S1,w=00S11,使用规则S0S1,=0,=1)第24页,此课件共63页哦例 文法G=(VN,VT,P,S)VN =标识符,字母,数字;VT =a,b,c,x,y,z,0,1,9P=a,z 0,9 S=指出下面直接推导所使用的规则:abc abc5第25页,此课件共63页哦例:例:G G:S0S1 S0S1,S01 S010S1 0S1 00S11 00S11 000S111 000S111 00001111 00001111 即即 0S1 000011110S1 00001111也记作也记作 0S1 000011110S1 00001111 若存在v=w0 w
16、1.wn=w,(n0),则称v推导推导出(产生)w(推导长度为n),或称w归约归约v.记作 v w。若有 v w,或 v=w,则记为 v w+*+*和和和和注:注:包含包含0 0步推导;而步推导;而 不包含不包含0 0步推导。步推导。*+推推推推 导导导导第26页,此课件共63页哦例 G:abz 019 x x 1即:x1 也可记作:x1+*第27页,此课件共63页哦句型句型设GS是一文法,如果符号串x是从开始符号推导出来的,即S x,则称x是文法GS的句型。句子句子x仅由终结符号组成(即S x,且xVT*),则称x是GS的句子。例:G:S0S1,S01S 0S1 00S11 000S111
17、00001111三、三、文法的句型、句子的定义文法的句型、句子的定义*第28页,此课件共63页哦四、四、语语 言言 的的 定定 义义由文法G生成的语言语言记为L(G),它是文法G的全部句子的集合:L(G)=x|S x,且x VT*,其中S为文法的开始符号 文法描述的语言是该文法一切句子的集合。文法描述的语言是该文法一切句子的集合。例:G:S0S1,S01S 0S100S11 0n-1S1n-1 0n1n L(G)=0n1n|n1*第29页,此课件共63页哦例3.3 设G=(VN,VT,P,S),VN=S,B,E,VT=a,b,e,P由下列产生式组成:(1)S aSBE (2)S aBE(3)E
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 文法 语法 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内