编译原理第1章绪论

编译原理第1章绪论

ID:38589835

大小:1.73 MB

页数:35页

时间:2019-06-15

编译原理第1章绪论_第1页
编译原理第1章绪论_第2页
编译原理第1章绪论_第3页
编译原理第1章绪论_第4页
编译原理第1章绪论_第5页
资源描述:

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

1、第一章绪论计算机包括硬件和软件两大部分;裸机从某个固定的地址开始载入“程序”,根据“程序逻辑”执行逻辑操作;pulloneselfupbyone'sbootstraps安装了操作系统的计算机,由操作系统载入“文件”,根据文件数据执行逻辑操作。高级语言程序机器语言编译程序第一章绪论Intel公司的DavidKuck院士–“计算机科学与技术的皇后”图灵奖—”计算机界的诺贝尔奖”,1966年以来54位获奖者16位研究内容为程序设计语言或编译技术高级语言的发展,C#(CLR),Java等高级语言程序机器语言编译程序第一章绪论将高级语言翻译成机器语言的语言处理器:编译器:将高级语言程

2、序翻译加工成目标程序,然后目标程序在计算机上运行,“笔译”。解释器:把源语言写的源程序作为输入,但不产生目标程序,而是边解释边执行源程序本身,“口译”。编译程序又称编译器,是将高级语言符号集合加工成机器指令的转换器。编译器解释器目标程序源程序源程序输入输出语言处理器1.1程序设计语言概述机器语言(0,1):用计算机指令编写的,可以直接在计算机上运行的程序;枯燥、易出错(2)汇编语言:将计算机指令用易于记忆的符号表示;加入宏指令,处理频繁使用的机器指令序列(3)高级语言:由表达各种不同意义的“关键词”和“表达式”,按一定的语义规则组成的程序。语言分类(4)MSIL和JVM:属

3、于在虚拟机上运行的中间语言,作用类似于汇编语言,但结构要比汇编语言高级的多,需要虚拟机二次编译或者解释才能执行。1.1.1高级程序设计语言的特点和发展(2)20世纪60~70年代:结构化设计方法,如Pascal、C等。a.支持模块化设计方法(顺序、判断、循环),具有完备的数据结构、灵活通用的语句、清晰的书写格式、优美的设计风格;b.编制更大规模的程序问题百出,无法管理和维护。(1)20世纪60年代初期出现高级程序设计语言,如Fortran(科学计算),Cobol(商业数据处理),Algol60等。a.降低了编程劳动强度,将程序员从繁琐的低级语言中解放出来;b.数据类型单调,

4、程序依赖于程序员的技巧,难读、难改、不易移植,难以编制更大规模的程序。1.1.1高级程序设计语言的特点和发展(3)20世纪70年代中期:借助软件工程的方法。a.使编制软件的规模进一步扩大;b.传统软件工程对软件危机没有多大缓解,大型软件投资失败依然大量存在。(4)20世纪80年代:面向对象的程序设计语言Smalltalk问世。a.OOP立意于创建软件重用代码,更好的模拟现实世界;b.早期的面向对象语言不能轻松的刻画可视化对象,与用户交互能力差。(5)20世纪90年代中期:基于可视化和面向对象的编程语言,如VB、VC、Delphi等。a.使得可视化编程与面向对象紧密结合起来;

5、b.代码复用在源代码级别上。1.1.1高级程序设计语言的特点和发展(6)二进制级别的软件复用:Ole、COM、Cobar等。(7)进一步发展:软件标准件的生产。Web编程工具的发展:(1)20世纪90年代:Script技术,如ASP、JavaScript。(2)21世纪初:可视化与面向对象结合,如ASP.Net。1.1程序设计语言概述Java语言处理器结合了编译和解释过程a.一个Java源程序首先被编译成一个称为字节码的中间表示形式b.由一个虚拟机对得到的字节码加以解释执行(一台机器上编译得到的字节码可以再另一台机器上解释执行,通过网络就可以完成机器之间的转换)构建编译器的

6、相关科学1、编译器设计和实现中的建模2、代码优化的科学接收所有遵循语言规范的源程序。源程序的集合无限大所做的翻译工作都不能改变编译源程序的含义优化必须正确优化必须能够改善很多程序的性能优化所需的时间必须保证在合理的范围内所需要的工程方面的工作必须是可管理的把英文翻译为中文识别出句子中的一个个单词;分析句子的语法结构;根据句子的含义进行初步翻译;对译文进行修饰;写出最后的译文。1.2编译过程概述追了一姑娘很多年了,那天她QQ发我一句:我没看懂Ifyouneverleaveme,Iwillbewithyoustilldeathdousapart四级:你要不离开我,我就和你同归于

7、尽。结果:我伤心欲绝,再也没联系那姑娘。六级:“你若不离不弃,我必生死相依”结果:后悔莫及,遗憾终生1.2编译过程概述源程序目标程序词法分析语法分析语义分析中间代码生成代码优化目标代码生成表格管理错误检测1.2.1词法分析任务:分离单词,即从左到右一个字符一个字符的读入源程序,识别出一个个单词。intnSum,i=10;nSum=i*100+20;1.保留字int2.标识符nSum3.逗号,4.标识符i5.赋值号=6.整数107.分号;8.标识符nSum9.赋值号=10.标识符i11.乘号*12.整数10013.加

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

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

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