编译原理第1章素材.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 表格管理和错误处理 编译程序在工作过程中需要建立一些表格,以登记源程序中所提供的或在编译过程中所产生的一些信息,编译各个阶段的工作都涉及到构造、查找、修改或存取有关表格中的信息,因此,在编译程序中必须有一组管理各种表格的程序。 在编译程序的各个阶段中,都要涉及表格管理和错误处理。 * 表格管理和错误处理 一个好的编译程序在编译过程中,应具有广泛的程序查错能力,并能准确地报告错误的种类及出错位置,以便用户查找和纠正,因此,在编译程序中还必须有一个出错处理程序。 * 编译程序的结构 源程序 语义分析和中间代码生成程序 语法分析程序 词法分析程序 代码优化程序 目标代码生成程序 目标程序 表 格 管 理 程 序 出 错 处 理 程 序 ( 字符串) * 1.3 编译程序的生成方法 对源语言和目标语言认真分析 设计编译算法 选择语言编制程序 调试编译程序 提交相关文档资料 编译程序是一个复杂的系统程序,要生成一个编译程序一般要考虑以下几方面: * 编译程序的自动生成 如目前已广为使用词法分析程序的自动生成系统LEX和语法分析程序自动生成系统YACC等,此外, 还有可用来自动产生整个编译程序的软件工具:编译程序产生器, 它的功能是将任一语言的词法规则、语法规则和语义解释的描述作为输入,自动生成该语言的编译程序。 随着编译技术和自动机理论的发展, 近年来已研制出了一些编译程序的自动生成系统。 * 编译程序的自动生成 生成编译程序的方法还常采用自编译方式和移植方式。 随着并行技术和并行语言的发展,处理并行语言的并行编译技术和将串行程序转换成并行程序的自动并行编译技术正在深入研究之中。 * 1.4 编译技术在软件开发中的应用 虽然我们只有少数人从事构造或维护程序语言编译程序的工作,但是,大部分系统软件和应用软件的开发,通常要用到编译的原理和技术。 * 1.4 编译技术在软件开发中的应用 例如,设计词法分析器的串匹配技术已用于正文编辑器、信息检索系统和模式识别程序;上下文无关文法和语法制导定义已用于创建诸如排版、绘图系统和语言结构化编辑器中,代码优化技术已用于程序验证器和从非结构化的程序产生结构化程序的编程之中。 * 本章小结 什么是编译程序 编译过程的五个阶段 编译程序的结构框图 编译程序是一种翻译程序,它将高级语言所写的源程序翻译成等价的机器语言或汇编语言的目标程序。 词法分析、语法分析、语义分析和中间代码生成、代码优化、目标代码生成 * 本章小结 源程序 语义分析和中间代码生成程序 语法分析程序 词法分析程序 代码优化程序 目标代码生成程序 目标程序 表 格 管 理 程 序 出 错 处 理 程 序 ( 字符串) 人有了知识,就会具备各种分析能力, 明辨是非的能力。 所以我们要勤恳读书,广泛阅读, 古人说“书中自有黄金屋。 ”通过阅读科技书籍,我们能丰富知识, 培养逻辑思维能力; 通过阅读文学作品,我们能提高文学鉴赏水平, 培养文学情趣; 通过阅读报刊,我们能增长见识,扩大自己的知识面。 有许多书籍还能培养我们的道德情操, 给我们巨大的精神力量, 鼓舞我们前进。 * * * 高级语言所写程序转换(翻译)成机器语言程序计算机才能执行 * 高级语言所写程序转换(翻译)成机器语言程序计算机才能执行 * * * * * * * * * 编译原理 * 第1章 编译概述 什么是编译程序 参考 编译原理这门课程主要介绍设计和构造编译程序的基本原理和常用的技术和方法。 本章重点介绍编译程序的基本概念。 编译的过程 编译程序的结构 * 1.1 翻译程序与编译程序 翻译程序是指这样一个程序,它把一种语言(称作源语言)所写的程序(源程序)翻译成等价的另一种语言(称作目标语言)的程序(目标程序)。 高级语言程序 机器语言程序 翻译程序 #include stdio.h int main(void) { printf(hello, world\n); return 0; } 00 00 10 10….. * 1.1 翻译程序与编译程序 编译程序是一种翻译程序,它将高级语言所写的源程序翻译成等价的机器语言或汇编语言的目标程序。 源程序 高级语言程序 编译程序 目标程序 汇编语言或者机器语言程序 * 程序运行阶段 采用编译方式在计算机上执行用高级语言编写的程序,需分阶段进行。 第一种情况: 源程序 编 译 程 序 机器语言 目标程序 初始数据 运行系统 结果 编 译 阶 段 运 行 阶 段 高级语言 程序 * 第二种情况: 源程序

文档评论(0)

502992 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档