- 1、本文档共56页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理及实现技术 课 程 简 介 课程内容 介绍编译器构造的基本原理、基本实现方法和基本编译技术; 介绍形式语言和自动机理论等理论知识: 强调形式化描述技术; 强调对编译原理和技术的宏观理解。 课 程 简 介 课程意义 理解高级语言的工作原理,编写出高效的代码,提高软件设计技术; 灵活设计、实现自定义语言; 编译器的设计原理在计算机自身发展的过程中及其应用领域中无所不在,将该原理应用于软件逆向工程、程序理解和软件安全等涉及元级操作的领域; 前三年所学课程的一个综合理解和应用。 参 考 书 目 1. Alfred V.Aho Ravi Sethi Jeffrey D.Ullman 《Compilers: Principles,Techniques,and Tools》 人民邮电出版社。 2.Kenneth C. Louden 著 冯博琴 冯岚等译 《Compiler Construction Principles and Practice》 机械工业出版社。 3. 金成植著 《编译原理及实现》高等教育出版社。 4. 吕映芝 《编译原理》清华大学教育出版社。 主要内容: 几个基本概念: 翻译程序 汇编程序 编译程序 源程序 目标程序 编译器的工作过程及各个阶段的功能; 编译程序的实现途径; 与编译程序相关的其他程序。 编辑器 预处理器 连接程序 装配程序 调试程序 用Pentium机器语言编写如下程序片段: 1010 1001 0001 0110 0000 0001 0011 1100 0001 1000 0000 0001 0111 1100 0000 0101 0010 1101 0001 0101 0000 0000 1110 1010 0000 0011 0000 0101 0001 0101 0000 0000 0101 0011 0001 1000 0000 0001 ………………….. 0000 0000 0000 0000 0000 0000 0000 0000 用Pentium汇编语言编程示例: MOV X , AX CMP AX , Y JL S1 SUB AX ,15 JMP S2 S1: ADD AX ,15 S2: MOV AX, Y ………………….. XDW YDW 汇编语言的优点: 1、比机器语言较易学、易记忆及易理解; 2、汇编语言程序占用内存空间少,运行速度快,有着高级语言不可替代的用途。 70%以上的系统软件是用汇编语言编写的。 某些快速处理、位处理、访问硬件设备等高效程序需用汇编语言编写的。 某些高级绘图程序、视频游戏程序需用汇编语言编写的。 (二)高级语言 形式语言:是指按一定逻辑关系及严格规定的符号来表达某种事物以及进行信息交流的一种语言. 高级语言:模仿便于理解的自然语言和数学语言,采用一组形式规则来描述的人工语言。 高级语言编程示例: if (XY ) then Y:=X + 15 else Y:=X - 15; 高级语言的优点: 以人为本,面向自然表达,比汇编语言更容易学,易用、易理解、易修改; 高级语言程序不依赖于具体的机器, 具备移植性。 高级程序设计语言分类: 1、程序设计语言按功能分类: 科学计算用语言 商用语言 表处理语言 图形语言 公式处理语言 串处理语言 多用途语言 2、按处理问题模式分类: 过程式语言 函数式语言 逻辑式语言 对象式语 3、按执行模式分类: 顺序语言 并行语言 二、高级语言和汇编语言的执行 翻译程序(Translator) :它把用汇编语言或高级语言编写的程序转换成等价的机器语言程序。 汇编程序(Assembler) :汇编语言的翻译程序称为汇编程序(Assembler) 编译程序(Compiler) :高级语言的翻译程序称为编译程序,也称为编译器。 源程序(Source program):编译程序的输入对象, 它是高级语言编写的程序; 目标程序(Object program): 编译程序的输出对象称为目标程序。目标程序可以是机器语言程序、汇编语言程序或用户自定义某种中间语言程序。 三、高级语言的执行方式 1. 编译方式 编译阶段:将源程序改造成另一种在逻辑上等价的目标语言程序; 运行阶段:在运行子程序的支持下执行目
文档评论(0)