




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2020/7/15,中国科大,程序设计语言编译原理,2020/7/15,中国科大,温故知新,字母表,符号,符号串,语言,集合,组合,集合,区别, 和,符号串的连接:符号串x和y的连接表示为xy,符号串的长度,符号串的幂运算:设x是一个符号串,则: x0=,x1 = x,x2 = xx,xn = xx,2020/7/15,中国科大,温故知新,符号串集合的连接 *的子集U和V的连接(积)定义为 UV = |U & V 指数:Vn= VVV,V0 = 闭包:V* = V0 V1 V2 V3 正闭包:V+ = VV* = V1 V2 V3 练习 U: A, B, , Z, a, b, , z , V:
2、 0, 1, , 9 UV, V6, V*, U(V )*, U+,2020/7/15,中国科大,温故知新,2020/7/15,中国科大,温故知新,定义1:上下文无关文法是四元组G =(VT , VN , S, P ) VT : 终结符集合 VN : 非终结符集合, VT VN = S : 开始符号, SVN P :产生式集合, 产生式形式 : P , P VN , (VN VT)* 例 :变量i是一个算术表达式; 若E1和E2是算术表达式,则E1+E2、E1*E2和(E1)也是算术表达式,E i E E +E E E *E E (E),E i | E + E| E * E|(E),简化表示,
3、( i, +, *, (, ), E, E, P ),2020/7/15,中国科大,E (E) (E + E) (i + E) (i + i),温故知新,上下文无关文法如何定义语言?推导 把产生式看成重写规则,把当前符号串中的非终结符用其产生式右部的串来代替。,E i | E + E| E * E|(E),E (E) EE+E Ei Ei,E E * E E+E * E i + E * E i + (E) * E i + (E + E) * E i + ( i + E) * E i + ( i + i) * E i + ( i + i) * i,E E *E EE+E Ei E(E) EE +
4、 E E i E i E i,2020/7/15,中国科大,温故知新,定义2:符号串的推导与归约:已给文法G=(VN,VT, S, P ) 令,(VNVT)*,且A P ,此时,由符号串A能够直接推出符号串 ,我们称: 符号串是符号串A的直接推导; 符号串A是符号串的直接归约 记作: A 若有1,2,n (VNVT) * 且1 2 n-1 n 则称n是1的推导。 特别约定:若在推导关系1 n中允许1=n, 则称n是1 的广义推导,2020/7/15,中国科大,温故知新,定义3:句型、句子和语言,已给文法G=(VN,VT, S, P ),若 S, (VNVT)* ,则称为文法G的句型,文法G所对
5、应的语言是句子的集合,记作L(G)=|VT*,且S,i + i 和 i +(i + i) * i 都是,E i | E + E| E * E|(E),的句子,2020/7/15,中国科大,例:考虑文法G1定义的语言。 G1: SbA AaA | a,S bA,ba,S bA,baA,baa,S bA,baA,baA,baa.a,L(G1)=ban|n1,2020/7/15,中国科大,例:考虑文法G2定义的语言。 G2:SAB AaA | a BbB | b,L(G2)=ambn|m,n1,S AB,aB,S AB,aAB,ab,aaB,aab,S AB,aaB,aabbB,aabb,aabB,
6、2020/7/15,中国科大,L(G2)=ambn|m,n1,G2:SAB AaA | a BbB | b,G2 SACB AaA | a C aCb| BbB | b,(1)给定一个文法G,就可以从结构上唯一地确定其语言 GL(G),(2)给定一种语言L,能确定其文法,但这种文法可能不是唯一的:LG1或G2,2020/7/15,中国科大,例:构造一个文法G3使L(G3)=anbn|n1,G3: SaSb | ab,例:有文法G4: SaSb Sab它确定的语言是什么?,L(G4)=anbn | n1,例:已知语言为 L(G)=abna | n1 试给出其文法。,G5: SaBaBbB|b,G
7、5:SaBaBBb|b,例:有文法G6 确定什么语言? S aB | bB B a | b,L(G6)=aa,ab,ba,bb,2020/7/15,中国科大,2.3.1 上下文无关文法,E E + E | E * E | (E ) | E | id E E (E) (E + E) 最左推导:任何一步 都是对的最左非终结符进行替换的。 E lm E lm (E) lm (E + E) lm (id + E) lm (id + id) 最右推导(规范推导) E rm E rm (E) rm (E + E) rm (E + id) rm (id + id),?,?,2020/7/15,中国科大,2.
8、3.1 上下文无关文法,例:文法G: E i| E+E | E*E | (E) 给出句子 i*i+ i 的最右及最左推导 。,E, E+i, E*E+i, E+E, E*i+i, i*i+i,最右推导:,E, E*E+E, i*E+E, E+E, i*i+E, i*i+i,最左推导:,E, i*E, i*E+E, E*E, i*i+E, i*i+i,2020/7/15,中国科大,2.3.1 上下文无关文法,E lm E lm (E) lm (E + E) lm (id + E) lm (id + id),E rm E rm (E) rm (E + E) rm (E + id) rm (id +
9、 id),E,E,E,E,E,(,),E,E,E,(,),E,E,E,+,E,E,(,),E,E,E,+,id,E,E,(,),E,E,E,+,id,id,E,E,E,E,E,(,),E,E,E,(,),E,E,E,+,E,E,(,),E,E,E,+,id,E,E,(,),E,E,E,+,id,id,2020/7/15,中国科大,2.3.2 语法分析树与二义性,语法分析树:句型推导的图形表示,简称语法树。,E,E, (E), (E + E), (i + E), (i + i),E, (E), (E + E), (E + i), (i + i),E,一棵语法树表示了一个句型种种可能的不同推导过程
10、。,2020/7/15,中国科大,2.3.2 语法分析树与二义性,E E * E i * E i * E + E i * i + E i * i + i,文法的二义性:若一个文法存在某个句子/句型对应两棵不同的语法树,则称此文法是二义性文法。,E i| E+E | E*E | (E),句子:i * i + i,E E + E E * E +E i * E + E i * i + E i * i + i,2020/7/15,中国科大,2.3.2 语法分析树与二义性,消除二义性:,用一种层次观点看待表达式 按照优先集和结合性,2020/7/15,中国科大,2.3.2 语法分析树与二义性,用一种层次
11、观点看待表达式 i * i + i i * (i + i) i * (i * i + i) i * i * (i + i) + i * i + i 取消二义性的文法 表达式 项 |表达式 + 项 项 因子| 项 * 因子 因子 i |(表达式),表达式,2020/7/15,中国科大,2.3.2 语法分析树与二义性,用一种层次观点看待表达式 i * i + i i * (i + i) i * (i * i + i) i * i * (i + i) + i * i + i 取消二义性的文法 E T | E + T T F | T * F F i |(E),E,E,E i| E+E | E*E |
12、(E),2020/7/15,中国科大,2.3.2 语法分析树与二义性,例:给出文法G,判断是否为二义文法,如果是,取消二义性 语句 if 条件 then 语句 | if 条件 then 语句 else 语句 | 其它语句 例 推导句型:if 条件 then if 条件 then 语句 else 语句 最左推导: 语句 if 条件 then 语句 if 条件 then if 条件 then 语句 else 语句 语句 if 条件 then 语句 else 语句 if 条件 then if 条件 then 语句 else 语句,2020/7/15,中国科大,2.3.2 语法分析树与二义性,语句 i
13、f 条件 then 语句 | if 条件 then语句else语句 | 其它语句 取消二义性的文法: 语句 匹配句| 非匹配句 匹配句 if 条件 then 匹配句 else 匹配句 | 其它语句 非匹配句 if 条件 then 语句 | if 条件 then 匹配句 else 非匹配句,2020/7/15,中国科大,练习,1、令文法为 E T | E+T | E-T T F | T *F | T/F F ( E ) | i 给出 i*(i+i) 的最右推导及语法树 2、证明下面的文法是二义的 SiSeS | iS | i,2020/7/15,中国科大,E T T *F T *( E ) T
14、*(E+T ) T *(E+F ) T *(E+i ) T *(T+i ) T *(F+i ) T *(i+i ) F *(i+i ) i *(i+i ),E T | E+T | E-T T F | T *F | T/F F ( E ) | i,句子:i*(i+i),句子:iiiei,S iSeS iiSeS iiieS iiiei,SiSeS | iS | i,S iS iiSeS iiieS iiiei,2020/7/15,中国科大,1.不能有形如: PP的产生式;,2.不能有多余产生式,每个非终结符P必须都有用处。,(1)在推导文法的所有句子时,始终都用不到的产生式;如,从开始符号,不存
15、在推导 S P,(2)在推导过程中,一旦使用此产生式,将无法推出任何句子的产生式;如,对于非终结符P,不存在P , VT*,2.3.2 语法分析树与二义性,例:有文法G: Z Be A Ae | e B Ce | Af C Cf D f,Z BeA Ae | eB Af,*,*,上下文无关文法的限制:,2020/7/15,中国科大,上下文无关文法,2.3.3 形式语言鸟瞰,文法 G = (VT , VN, S, P) 乔姆斯基把文法分为四类: 0型文法: , , (VN VT)*, 至少有一个非终结符 1型文法:| | | |,但S 可以例外 A 是1型文法的一个产生式 2型文法:A ,AVN , (VN VT)* 3型文法:A B或A ,A, BVN , VT*,短语文法,上下文有关文法,右线性文法正规文法,2020/7/15,中国科大,2.3.3 形式语言鸟瞰,例 L= an
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生物化学(第4版)课件 第2章 核酸化学
- 气候变化所致小岛国损失损害补偿责任问题研究
- 基于STSE教育理念的初中化学金属和金属材料的教学实践研究
- 下雨天安全教育
- 关爱妇女心理健康:现状与行动指南
- 颈椎间盘的护理课件
- 爆炸安全知识培训
- 人事劳资培训
- 项目管理人员安全教育培训
- 项目介绍课件模版
- 停车场数据分析与优化方案
- 四年级数学上册 (学霸自主提优拔尖)第一单元《升和毫升》学霸提优卷(有详细答案)(苏教版)
- 内燃机噪音控制技术
- 2024年离婚协议书范文模范本两个孩子
- 2024年北京中考地理试卷
- 杭四中分班考数学试题卷
- 会议系统施工施工方法及工艺要求
- 收割机买卖合同正规范本版
- 临床成人ICU患者外周动脉导管管理要点
- 81.GJB 1112A-2004 军用机场场道工程施工及验收规范
- DZ∕T 0130-2006 地质矿产实验室测试质量管理规范(正式版)
评论
0/150
提交评论