编译原理第一章教材 (2).pptVIP

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译原理 * 编译原理 * 编译原理 The Principles of Compilers * 编译原理 * 课程基本信息 课时: 48(16×3/周) 成绩评定: 1、平时成绩:40%或30%:包括作业,含习题;出勤;课堂表现。 2、期末考试成绩:60%或70% * 编译原理 * 课程的性质及意义 课程性质: 技术基础 课程意义: “编写编译器的原理和技术具有十分普遍的意义,以至于在每个计算机科学家的研究生涯中,本书中的原理和技术都会反复用到。” ——Alfred V. Aho /~aho/ * 编译原理 * * * 课程目的和基本要求 (附录) 知识: 掌握编译器的总体结构、各个组成部分的任务、各个阶段的工作原理、所要解决的问题及其采用的方法和技术。 能力: 掌握程序变换基本概念、问题描述和处理方法,增强理论结合实际能力;使学生在系统级上认识算法和系统的设计,培养系统能力. * 编译原理 * * * 主要内容 1. 引论 2. 词法分析 3. 语法分析: 4. 语法制导翻译 5. 类型检查 6. 运行时的存储组织 7. 中间代码生成 8. 目标代码生成 9. 代码优化技术介绍 正规表达式(RE); 有限自动机(FA:DFA与NFA); RE ? FA; 词法分析器及其生成器。 语言与文法;自顶向下的语法分析(LL(k)文法), 自底向上的语法分析(LR(k)文法) 。 文法的综合属性与继承属性; 属性的计算与L属性; 属性的自下而上和自上向下的计算 。 类型与类型语言; 类型检查; 多态函数 函数与算符的重载 。 局部存储的分配; 全局栈式存储分配; 非局部名字的访问 参数传递 。 几种常用中间代码; 赋值语句及数组元素的地址计算; 布尔表达式和控制流的翻译 。 代码生成器设计中的问题; 目标机器的指令集与指令代价; 基本块和流图; 代码的生成 。 独立于机器的优化; 优化的主要类型; 数据流分析介绍; 流图中的循环 。 * 编译原理 * 第1章 ? 引论 Introduction * 编译原理 * * * 计算机的语言 母语:机器语言(Machine Language):用 0、1代码表示的机器指令系统。 汇编语言(Assemble Language):用助记符表示的指令系统,以及伪指令和伪指令和符号地址。汇编语言又称为低级语言(Low Level Language)。 高级语言(High Level Language):用人工语言设计的程序设计语言,其表示方法更接近于待解问题的表示方法,例如:C、FORTRAN、PASCAL、C++、JAVA、SQL、等。 * 编译原理 * 计算机不能没有的翻译 因为机器的母语是二进制的指令集,所以要让机器懂得低级语言和高级语言就必须要有翻译者。 这样的翻译者称其为翻译程序。 担任低级程序设计语言翻译工作的程序称为汇编程序。 担任高级程序设计语言翻译工作的程序称为编译程序。 * 编译原理 * 程序设计语言的翻译 翻译程序(Translator): 将某一种语言描述的程序(源程序,Source Program)翻译成等价的另一种语言描述的程序(目标程序,Object Program)的程序。 翻译程序 源程序 目标程序 (*.C / *.PAS) (*.OBJ / *.EXE) * 编译原理 * 程序设计语言的翻译 编译程序(Compiler) 将源程序完整地转换成机器语言程序或汇编语言程序,然后再处理、执行的翻译程序。 高级语言程序→汇编/机器语言程序 源程序 目标程序 编译程序 * 编译原理 * 系统支撑(System Support) 编译系统 = 编译器 + 运行系统 源程序 编译器 目标程序 连接程序 运行时 的函数库 用户定义的 目标代码模块 可执行代码 * 编译原理 * 1、识别出句子中的一个个单字; 2、分析句子语法结构; 3、初步翻译句子的含意; 4、译文修饰; 5、写出最后译文。 自然语言的翻译: 1、词法分析; 2、语法分析; 3、语义分析与中间代码生成; 4、优化; 5、目标代码生成。 程序设计语言的翻译: 语言的翻译过程 * 编译原理 * * * 编译程序的组织 前端(Front End ) 与源语言有关、与目标机无关的部分: 词法分析、语法分析、语义分析、中间代码生成、与机器无关的代码优化 后端(Back End) 与目标机有关的部分: 与机器有关的代码优化、目标代码生成 * 编译原理 * 编译程序的前端 源 程序 词法分析器 语法分析器 记号 序列 中间代码生成器 语法 树 脱离机器优化器

文档评论(0)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档