- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
五.编译程序生成 移植方法 把一种机器上的编译程序移植到另一种机器上。 L语言 A代码 P1: A代码 L语言 B代码 P2: L语言 L语言 B代码 P2: A代码 L语言 B代码 P2: L语言 L语言 B代码 P2: B代码 同一种语言不同的机器 L1+L2+...+Ln … L1+L2 五.编译程序生成 自展技术 L1 五.编译程序生成 编译程序自动产生 编译程序-编译程序,编译程序书写系统 LEX 词法分析程序产生器 YACC 语法分析程序产生器 编译程序 自动产生器 L语言的语法描述 语义描述 目标语言 或机器描述 L语言的 编译程序 六. 关于学习编译原理 构造编译程序的前提: 掌握源语言 掌握目标语言 掌握编译方法 六. 关于学习编译原理 意义: 学习编译程序构造原理,技术 更好地理解高级语言 编译的原理和方法有助于构造一些实用的工具 六. 关于学习编译原理 课程特点: 理解性 技术性 第一章 小结 内容 1 什么是编译程序 2 编译过程和编译程序的结构 3 为什么要学习编译程序 本章没有难以理解的内容,重点对编译程序的功能和结构做一综述,要说难点的话可能是:了解编译程序各个成分在编译阶段的逻辑关系以及他们怎样作为一个整体完成编译任务的。 参考书 Compilers Principles, Techniques and Tools, A. V. AHO 编译原理及编译程序构造 北航出版社, 高仲信,金茂忠 编译原理典型题解析与实战模拟 刘春林、王挺等 编译原理例解析疑 赵雄芳等 编译原理第一章 引 论 本课程介绍程序设计语言编译程序构造的基本原理和基本实现技术. 源语言程序 目标语言程序 翻译 程序 翻译 一. 什么是编译程序 翻译程序 把某一种语言程序(称为源语言程序)等价地转换成另一种语言程序(称为目标语言程序)的程序 高级语言程序 机器语言程序 结果 编译 程序 翻译 运行 一. 什么是编译程序 编译程序(compiler) 把某一种高级语言程序等价地转换成另一种低级语言程序(如汇编语言或机器语言程序)的程序 诊断编译程序 优化编译程序 交叉编译程序 可变目标编译程序 一. 什么是编译程序 解释程序 把源语言写的源程序作为输入,但不产生目标程序,而是边解释边执行源程序本身 源程序 结果 解释 程序 解释执行 二. 编译过程 把英文翻译为中文 识别出句子中的一个个单词; 分析句子的语法结构; 根据句子的含义进行初步翻译; 对译文进行修饰; 写出最后的译文。 词法分析 语法分析 中间代码产生 优化 目标代码产生 二. 编译过程 编译程序的工作一般分为五个阶段: 词法分析 语法分析 中间代码产生 优化 目标代码产生 1. 词法分析 任务: 输入源程序,对构成源程序的字符串进行扫描和分解,识别出一个个单词符号。 依循的原则:构词规则 描述工具:有限自动机 FOR I := 1 TO 100 DO 保留字 标识符 等符 整常数 保留字 整常数 保留字 2. 语法分析 任务:在词法分析的基础上,根据语言的语法规则把单词符号串分解成各类语法单位。 依循的原则:语法规则 描述工具:上下文无关文法 Z := X + 0.618 * Y 算术表达式,赋值语句 3. 中间代码产生 任务:对各类不同语法范畴按语言的语义进行初步翻译。 依循的原则:语义规则 中间代码:三元式,四元式,树形结构等 Z:=X + 0.618 * Y 翻译成四元式为 (1) * 0.618 Y T1 (2) + X T1 T2 (3) := T2 _ Z 4. 优化 任务:对于前阶段产生的中间代码进行加工变换,以期在最后阶段产生更高效的目标代码。 依循的原则:程序的等价变换规则 FOR K:=1 TO 100 DO BEGIN X:=I+1; M := I + 10 * K; N := J + 10 * K; END 中间代码(一) 序号 OPR OPN1 OPN2 RESULT 注释 (1) := 1 K K:=1 (2) j 100 K (10) if (100K) goto (10) (3) + I 1 X X:=I+1 (4) * 10 K T1 T1:=10*K (5) + I T1 M
您可能关注的文档
- 4.4化学方程式2技术方案.ppt
- 4.5《牛顿第三定律》课件(新人教版必修1)技术方案.ppt
- 4.5运动与摩擦力技术方案.ppt
- 4.15_方位角技术方案.ppt
- 4.趋势及趋势线课件技术方案.ppt
- 4_5用正交变换化二次型为标准形技术方案.ppt
- 4-2_Burnside引理和Polya定理d技术方案.ppt
- 4-3-1-2013化学方程一(示范课)技术方案.ppt
- 4-07稀溶液的依数性技术方案.ppt
- 4第四节控制系统根轨迹绘制技术方案.ppt
- 2024年火电电力职业鉴定模拟试题【预热题】附答案详解.docx
- 2024年火电电力职业鉴定模拟试题及参考答案详解【达标题】.docx
- 2024年火电电力职业鉴定模拟试题及参考答案详解【A卷】.docx
- 2024年火电电力职业鉴定模拟试题参考答案详解.docx
- 2024年火电电力职业鉴定模拟试题及一套参考答案详解.docx
- 2018传染病防治法课件PPT.pptx
- 2024年火电电力职业鉴定模拟试题及参考答案详解【预热题】.docx
- 2024年火电电力职业鉴定检测卷含答案详解(模拟题).docx
- 2024年火电电力职业鉴定检测卷附完整答案详解【考点梳理】.docx
- 2024年火电电力职业鉴定模拟试题【模拟题】附答案详解.docx
最近下载
- 高中数学第四章定积分4.3定积分的简单应用4.3.2简单几何体的体积教案.docx VIP
- TZSQX008-2020建设工程全过程质量行为导则.docx VIP
- 2024年山东省高中学业水平合格考生物试卷试题(含答案详解).docx VIP
- 高级教师职称评审答辩简答题.doc VIP
- 禁毒情报学习通超星期末考试答案章节答案2024年.docx VIP
- 北京市2024年艺术类专业考生综合分分数分布(一分一段表).pdf VIP
- 2025年乳腺癌诊疗指南(doc14页) .pdf VIP
- 篮球的起源与发展ppt课件.pptx VIP
- 网上调查赚钱经验及技巧总结.doc VIP
- ALPHA AS100说明书-V102用户手册.pdf
文档评论(0)