编译原理第二章课件(续)-张淑艳.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(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、程序设计语言程序设计语言编译原理编译原理温故知新温故知新字母表字母表符号符号符号串符号串语言语言集合集合集合集合组合组合组合组合集合集合集合集合区别区别,和和符号串的连接:符号串符号串的连接:符号串符号串的连接:符号串符号串的连接:符号串x x和和和和y y的连接表示为的连接表示为的连接表示为的连接表示为xyxy符号串的长度符号串的长度符号串的长度符号串的长度符号串的幂运算:设符号串的幂运算:设符号串的幂运算:设符号串的幂运算:设x x是一个符号串,则:是一个符号串,则:是一个符号串,则:是一个符号串,则:x x0 0=,x x1 1=x=x,x x2 2=xx=xx,x xn n=xx=xx
2、温故知新温故知新符号串集合的连接符号串集合的连接*的子集的子集的子集的子集U U和和和和V V的连接(积)定义为的连接(积)定义为的连接(积)定义为的连接(积)定义为 UV=UV=|U&U&V V 指数:指数:指数:指数:Vn=VVV,V0=闭包:闭包:闭包:闭包:V*=V0 V1 V2 V3 正闭包:正闭包:正闭包:正闭包:V+=VV*=V1 V2 V3 练习练习练习练习 U:U:A A,B B,Z Z,a a,b b,z z,V:,V:0,1,9 0,1,9 UV,VUV,V6 6,V,V*,U(V),U(V)*,U,U+温故知新温故知新 符号符号符号符号符号串符号串符号串符号串单词符号单
3、词符号单词符号单词符号词法分析器(正规式)词法分析器(正规式)词法分析器(正规式)词法分析器(正规式)表达式表达式表达式表达式语句语句语句语句程序块程序块程序块程序块程序程序程序程序语语语语法法法法分分分分析析析析器器器器(上上上上下下下下文文文文无无无无关关关关文文文文法法法法)语法分析树语法分析树语法分析树语法分析树语言语言语言语言集合集合集合集合字母表字母表字母表字母表集合集合集合集合组合组合组合组合温故知新温故知新定义定义定义定义1 1:上下文无关文法:上下文无关文法:上下文无关文法:上下文无关文法是四元组是四元组G=(VT,VN,S,P)VT:终结符集合终结符集合VN:非终结符集合非
4、终结符集合,VT VN=S:开始符号开始符号,SVNP:产生式集合,产生式集合,产生式形式产生式形式:P ,P VN,(VN VT)*例例例例 :变量变量变量变量i i是一个算术表达式;是一个算术表达式;是一个算术表达式;是一个算术表达式;若若若若E1E1和和和和E2E2是算术表达式,则是算术表达式,则是算术表达式,则是算术表达式,则E1+E2E1+E2、E1*E2E1*E2和和和和(E1)(E1)也是也是也是也是算术表达式算术表达式算术表达式算术表达式E E i i E E E E+E EE E E E*E EE E (E E)E E i i|E E+E E|E E*E E|(|(E E)简
5、化表示简化表示简化表示简化表示(i i,+,*,(,),+,*,(,),E E,E E,P )E E(E E)(E E+E E)(i i+E E)(i i+i i)温故知新温故知新上下文无关文法如何定义语言?上下文无关文法如何定义语言?推导推导把产生式看成重写规则,把当前符号串中的非终把产生式看成重写规则,把当前符号串中的非终结符用其产生式右部的串来代替。结符用其产生式右部的串来代替。E E i i|E E+E E|E E*E E|(|(E E)E E (E E)E EE E+E E E Ei iE Ei iE E E E E*EE*E E+E*EE+E*E i+E*Ei+E*E i+(E)*
6、Ei+(E)*E i+(E+E)*Ei+(E+E)*E i+(i+E)*Ei+(i+E)*E i+(i+i)*Ei+(i+i)*E i+(i+i)*ii+(i+i)*iE E E E*E EE EE E+E E E Ei iE E(E E)E EE+EE+EE E i iE E i iE E i i温故知新温故知新定义定义2:符号串的:符号串的推导与归约推导与归约:已给文法:已给文法G=(VN,VT,S,P)令令,(VNVT)*,且,且A P,此时,由符号串,此时,由符号串A能能够够直接推出直接推出符号串符号串,我们称:,我们称:符号串符号串是符号串是符号串A的的直接推导直接推导;符号串符号串
7、A是符号串是符号串的的直接归约直接归约 记作记作:A 若有若有1,2,n(VNVT)*且且1 2 n-1 n则称则称n是是1的推导。的推导。特别约定:若在推导关系特别约定:若在推导关系1 n中允许中允许1=n,则称则称n是是1 的广义推导的广义推导记作:记作:记作:记作:1 1+n*n n记作:记作:记作:记作:1 1温故知新温故知新定义定义3:句型、句子和语言句型、句子和语言,已给文法,已给文法G=(VN,VT,S,P)若若 S*,(VNVT)*,则称,则称为文法为文法G的的句型句型 若若 S*,VT*,则称,则称为文法为文法G的的句子句子 文法文法G所对应的所对应的语言是句子的集合语言是句
8、子的集合,记作,记作L(G)=|VT*,且,且S+i+i 和和 i+(i+i)*i 都是都是E E i i|E E+E E|E E*E E|(|(E E)的句子的句子例:考虑文法例:考虑文法G1定义的语言。定义的语言。G1:SbA AaA|aS bAbaS bA baAbaaS bAbaAbaAbaa.aL(G1)=ban|n1例:考虑文法例:考虑文法G2定义的语言。定义的语言。G2:SAB AaA|a BbB|bL(G2)=ambn|m,n1S ABaBS AB aABabaaB aabS AB aaBaabbB aabbaabBL(G2)=ambn|m,n1 G2:SAB AaA|a Bb
9、B|b G2 SACB AaA|a C aCb|BbB|b(1)(1)(1)(1)给定一个文法给定一个文法给定一个文法给定一个文法G G G G,就可以从结构上唯一地确定其,就可以从结构上唯一地确定其,就可以从结构上唯一地确定其,就可以从结构上唯一地确定其语言语言语言语言 G G G GL(G)L(G)L(G)L(G)(2)(2)(2)(2)给定一种语言给定一种语言给定一种语言给定一种语言L L L L,能确定其文法,但这种文法可,能确定其文法,但这种文法可,能确定其文法,但这种文法可,能确定其文法,但这种文法可能不是唯一的:能不是唯一的:能不是唯一的:能不是唯一的:L L L LG1G1G1
10、G1或或或或G2G2G2G2例:构造一个文法例:构造一个文法G3使使L(G3)=anbn|n1G3:SaSb|ab例:有文法例:有文法G4:SaSb Sab它确定的语言是什么?它确定的语言是什么?L(G4)=anbn|n1例:已知语言为例:已知语言为 L(G)=abna|n1 试给出其文法。试给出其文法。G5:SaBaBbB|bG5:SaBaBBb|b例:有文法例:有文法G6 确定什么语确定什么语言?言?S aB|bB B a|bL(G6)=aa,ab,ba,bb2.3.1 上下文无关文法上下文无关文法E E E E+E E|E E *E E|(|(E E)|)|E E|id|idE E E
11、E (E E)(E E+E E)最左推导最左推导:任何一步任何一步任何一步任何一步 都是对都是对的最左非终结符进的最左非终结符进行替换的。行替换的。E E lm E E lm (E E)lm (E E+E E)lm (id+(id+E E)lm (id+id)(id+id)最右推导(规范推导)最右推导(规范推导)E E rm E E rm (E E)rm (E E+E E)rm (E E+id)+id)rm (id+id)(id+id)?2.3.1 上下文无关文法上下文无关文法例:例:例:例:文法文法文法文法G G G G:E E E E i|i|i|i|E+E|E*E|(E)E+E|E*E|
12、(E)E+E|E*E|(E)E+E|E*E|(E)给出句子给出句子给出句子给出句子 i*i+i i*i+i i*i+i i*i+i 的最右及最左推导的最右及最左推导的最右及最左推导的最右及最左推导 。E E E E E+E+E+E+i i i i E*E+iE*E+iE*E+iE*E+i E+EE+EE+EE+E E*E*E*E*i i i i+i i i i i i i i*i i i i+i i i i最右推导:最右推导:最右推导:最右推导:E E E E E*E+EE*E+EE*E+EE*E+E i i i i*E+E*E+E*E+E*E+E E+EE+EE+EE+E i i i i*i
13、 i i i+E+E+E+E i i i i*i i i i+i i i i最左推导:最左推导:最左推导:最左推导:E E E E i*Ei*Ei*Ei*E i i i i*E+E*E+E*E+E*E+E E*EE*EE*EE*E i i i i*i i i i+E+E+E+E i i i i*i i i i+i i i i2.3.2 语法分析树与二义性语法分析树与二义性语法分析树语法分析树语法分析树语法分析树:句型推导的图形表示,简称:句型推导的图形表示,简称:句型推导的图形表示,简称:句型推导的图形表示,简称语法树语法树语法树语法树。E EE E()E EE E()E EE EE E+i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 第二 课件 张淑艳
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内