- 1、本文档共85页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
S→aSBE S→aBE BE→bE aB→ab bB→bb bE→be eE→ee 例:2型(上下文无关)文法 文法G[S]: S→AB A→BS|0 B→SA|1 S→ε G[S]: S→0A|1B|0 A→0A|1B|0S B→1B|1|0 标识符(字母开始的字母数字串)的有效长度是10 数字最多为14位 过程无参,可嵌套(最多三层)定义,可递归调用 变量的作用域同PASCAL 13个保留字:if, then, while, do, read, write, call, begin, end, const, var, procedure, odd 2型(上下文无关)文法 文法G[S]: S→0A|1B A→1S|1 B→0S|0 该文法产生的语言为:L(G[S])={anbn|n≥1} (右线性) P: A:=a 或 A::=aB 其中 A、B∈ VN a∈ VT 3型语言:L3 又称正则语言 . 3型文法称为正则文法。它是对2型文法进行进一步限制。 左线性 和右线性文法是相互等价的 (左线性) P: A:=a 或 A::=Ba 其中 A、B∈ VN a∈ VT 3型文法: G[I]: I → lT I → l T → lT T → dT T → l T → d 例:3型文法 有关文法的实用限制 1、 若文法中有如U::=U的规则,则这就是有害规则,它会引 起二义性,而无任何用处。 例如存在U::=U, U::= a | b,则有两棵语法树: U a U U a 文法中不能含有有害规则和多余规则 2、 多余规则: (1)某条规则U::=u的左部非终结符U(U不是识别符号),不在任何其他规则右部出现,即所有的推导始终不会用到此规则。 (2)在推导句子的过程中,一旦使用了该规则,将推不出任何终结符号串。即该规则中含有推不出任何终结符号串的非终结符。 例如给定G[S],若其中关于U的规则只有如下一条: U::=xUy 该规则是多余规则。 若还有U::=a,则此规则 并非多余 若某文法中无有害规则或多余规则,则称该文法是压缩过的。 根据上述讨论,L0 L1 L2 L3 0型文法可以产生L0、L1、L2、L3,但2型文法只能产生L2,不能产生L1。 ∪ ∪ ∪ 2型文法 1型文法 0型文法 3型文法 四种文法之间的逐级“包含”关系 2型文法(不确定的下推自动机) 1型文法(不确定的界限自动机) 0型文法(图灵机) 3型文法(有限自动机) 形式语言与自动机 图灵机 2.5 PL/0编译程序概述 PL/0编译程序 pcode解释程序 PL/0源程序 pcode代码 PASCAL语言的子集,功能简单,结构清晰,可读性强,具备了一般高级语言的必备部分 PL/0语言的功能 (1)赋值语句; (2)语句串,即begin…end语句; (3)条件语句,即if语句; (4)循环语句,即while语句; (5)过程调用语句,即call语句; (6)输入语句,即read语句; (7)输出语句,即write语句。 语句类型 (1)常量说明(全局) (2)变量说明; (3)过程说明。 说明类型 数据类型 整型 无符号整数 数字串 数字串 数字 数字数字 1 数字 1 0 (6) == == (1) == (3) (5) == == (2) 当符号串已没有非终结符号时,推导就必须终止。因为 终结符不可能出现在规则左部,所以将在规则左部出现的符 号称为非终结符号。 例如:G[无符号整数] (1) 无符号整数 → 数字串 (2) 数字串 → 数字串 数字 (3) 数字串 → 数字 (4) 数字 →0 | 1 | 2 | 3 | …… | 9 如果存在直接推导序列: x ? y0 ? y1 ? y2…yn=y 则称这个序列是一个从x至y的长度为n(n0)的推导,或称y归约到x,记作x y。 若有x y,或x=y,则记作x y。 + =
您可能关注的文档
- 边做边学——Photoshop+corelDRAW综合实训教程 教学课件 作者 江新顺 08.ppt
- 边做边学——Photoshop+corelDRAW综合实训教程 教学课件 作者 江新顺 09.ppt
- 边做边学——Photoshop+corelDRAW综合实训教程 教学课件 作者 江新顺 10.ppt
- 边做边学——Photoshop+corelDRAW综合实训教程 教学课件 作者 江新顺 11.ppt
- 边做边学——Photoshop+Illustrator综合实训教程 教学课件 作者 马丹 姚磊磊 01.ppt
- 边做边学——Photoshop+Illustrator综合实训教程 教学课件 作者 马丹 姚磊磊 02.ppt
- 边做边学——Photoshop+Illustrator综合实训教程 教学课件 作者 马丹 姚磊磊 03.ppt
- 边做边学——Photoshop+Illustrator综合实训教程 教学课件 作者 马丹 姚磊磊 04.ppt
- 边做边学——Photoshop+Illustrator综合实训教程 教学课件 作者 马丹 姚磊磊 05.ppt
- 边做边学——Photoshop+Illustrator综合实训教程 教学课件 作者 马丹 姚磊磊 06.ppt
- 编译原理 教学课件 作者 李冬梅 施海虎 第3章 词法分析.ppt
- 编译原理 教学课件 作者 李冬梅 施海虎 第4章.语法分析.ppt
- 编译原理 教学课件 作者 李冬梅 施海虎 第5章 语义分析与中间代码生成.ppt
- 编译原理 教学课件 作者 李冬梅 施海虎 第6章 符号表管理和错误处理.ppt
- 编译原理 教学课件 作者 李冬梅 施海虎 第7章 运行时的存储组织与分配.ppt
- 编译原理 教学课件 作者 李冬梅 施海虎 第8章 代码优化.ppt
- 编译原理 教学课件 作者 李冬梅 施海虎 第9章 目标代码生成.ppt
- 编译原理 教学课件 作者 李冬梅 施海虎习题答案 编译原理课后习题答案.doc
- 编译原理 教学课件 作者 王生原 董渊 杨萍 张素琴 pll 2010 Overview.ppt
- 编译原理 教学课件 作者 王生原 董渊 杨萍 张素琴 slide01.ppt
文档评论(0)