[工学]编译原理第1章

[工学]编译原理第1章

ID:36301746

大小:798.83 KB

页数:62页

时间:2019-05-08

[工学]编译原理第1章_第1页
[工学]编译原理第1章_第2页
[工学]编译原理第1章_第3页
[工学]编译原理第1章_第4页
[工学]编译原理第1章_第5页
资源描述:

《[工学]编译原理第1章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、编译原理主讲教师:张小艳Email:zhangxy@xust.edu.cnQQ:1161880978一、本课程讨论的领域和希望达到的目的1.1领域程序设计语言的应用-程序设计(PLA)程序设计语言的翻译-编译器的构造(PLT)程序设计语言的设计-语法、语义(PLD)21.了解PL的基本要素、工作原理、语言翻译的基本方法;2.用不同的PL进行程序设计,即自学计算机语言的能力;3.具备语言翻译的基本技能。1.2目的32.1本课程的特点理论与实践并重理论学习要严谨、方法掌握要灵活提高自学能力2.2理论与技术的关系适应飞速变化的技术的根本是注重基础

2、理论学习理论的演变是缓慢的、理论基础是相通的相同的原理可以应用于不同的技术二、学习方法2.3勤动手、多实践、提高学习能力1.学到的知识是死的,总有过时的时候。只有通过学习知识提高学习能力,才是立于不败之地的保证。2.记笔记:好记性不如烂笔头,通过动手加深理解和记忆。3.做作业、做上机题。5课前思考什么是编译程序编译过程和编译程序的结构为什么要学习编译程序学习目标明确编译程序的功能及其在计算机系统中的作用。了解源语言程序被编译为目标程序的整个过程,这个过程一般划分为哪些阶段。知道编译技术可用于哪类软件的设计和开发。第一章绪论6难重点本章主要对

3、编译程序的功能和结构做一综述。通过课程的学习应掌握各个成分的功能和设计原则,以及在编译阶段的逻辑关系。理解他们怎样作为一个整体完成编译任务的。学习指南编译程序是现代计算机系统的基本组成部分之一。编译程序一般由词法分析程序、语法分析程序、语义分析程序、中间代码生成程序、目标代码生成程序、代码优化程序、表格管理程序和出错处理程序等成分构成。通过学习应掌握各个成分的功能和设计原则,以及在编译阶段的逻辑关系。理解他们怎样作为一个整体完成编译任务的。程序设计语言分低级语言和高级语言两类低级语言:机器语言、汇编语言等;其特点对计算机的依赖性强、直观性差

4、、编写程序的工作量大,对程序设计人员要求较高。高级语言:常用的有BASIC、FORTRAN、PASCAL、C、JAVA等。但高级语言与机器之间有一“鸿沟”:机器不能理解高级语言!方法:对程序进行翻译或进行解释。翻译:在计算机中放置一能由计算机直接执行的翻译程序,它将某程序设计语言(源语言)所编写的程序(源程序)作为加工对象,将其翻译成为与之等价的另一种语言(目标语言)的程序(目标程序)计算机执行某高级语言程序,需经两个阶段,即编译阶段和运行阶段。在执行时,一般应有一些辅助子程序配合。如:数据格式转换子程序、标准函数、动态存储分配子程序等等,

5、由它们构成的子程序库称为运行系统。编译系统=编译程序+运行系统1.1从面向机器的语言到面向人类的语言面向机器的语言:机器指令、汇编语言面向人类的语言:通用程序设计语言、非过程式语言,等等<1>计算机语言举例例通用程序设计语言与汇编语言(包括机器指令)Pascal语句:x:=a+b;汇编指令:十六进制代码汇编指令A10002MOVAX,[A]8B1E0202MOVBX,[B]01D8ADDAX,BXA30402MOV[X],AX10给出003号学生所选课程与成绩:Select学号,姓名,课程名,成绩from学生,选课where学生.学号=“0

6、03”;例SQL语言学生:选课:学号姓名性别001张梧男002李煦男003王沁女004刘荔女学号课程代码课程名成绩0010104离散数学800010205数据结构900030104离散数学850030205数据结构95学号姓名课程名成绩003王沁离散数学85003王沁数据结构9511CCC2002-PL:1.过程式语言、面向对象语言:通用程序设计语言,包括FORTRAN、Pascal、C/C++、Ada83/Ada95、Java等;2.函数语言:面向特点领域的、递归特性,典型代表:Lisp;3.说明性、非算法式语言:浓厚的数学特征,典型代表

7、:LEX/YACC、SQL;4.脚本式语言:仅是一种安排,没有复杂的逻辑关系,典型代表:shell语言。<2>按范型划分的程序设计语言12<3>其他面向特定应用领域的语言a.互连网应用:HTML、XMLb.计算机辅助设计:MATLABc.集成电路设计:VHDL、Verilogd.虚拟现实:VRML……问题:如何将形形色色的语言翻译成可以在计算机上运行的0、1串??131.2语言之间的翻译高级汇编机器L1L2A1A2M1M2编译器1编译器1汇编器1编译器2编译器2交叉汇编器汇编器2反汇编反编译转换器14从功能上看,一个编译程序就是一个语言翻译

8、程序。它把一种语言(称作源语言)书写的程序翻译成另一种语言(称作目标语言)的等价的程序。源语言通常是一个高级语言,目标语言通常是一个低级语言。高级语言程序(源程序)请注意:所谓的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。