编译原理第一章课件计算机编译原理

编译原理第一章课件计算机编译原理

ID:46515224

大小:314.34 KB

页数:15页

时间:2019-11-24

编译原理第一章课件计算机编译原理_第1页
编译原理第一章课件计算机编译原理_第2页
编译原理第一章课件计算机编译原理_第3页
编译原理第一章课件计算机编译原理_第4页
编译原理第一章课件计算机编译原理_第5页
资源描述:

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

1、编译原理第一章总论1.编译程序与程序设计语言1.1高级程序设计语言的引进机器语言100058201020C(1020)=>reg2100459201024C(reg2)~C(1024)100847C01014当<=时goto1014100C50201028C(reg2)=>1028101047F0101Cgoto101C101458201024C(1024)=>reg2101850201028C(reg2)=>1028101C…汇编语言L2,xx=>reg2C2,yreg2(x)~yBNGLESS当<=时gotoLESSST2,maxreg2(x)=>maxBEXITgotoE

2、XITLESSL2,yy=>reg2ST2,maxreg2(y)=>maxEXIT高级程序设计语言If(x>y)max=x;elsemax=y;1.2高级程序设计语言程序的执行程序:计算任务的处理对象与处理规则的描述例main(){intx,y,t;t=x;x=y;y=t;}解释执行方式:逐个语句地模拟执行翻译执行方式:把程序设计语言程序翻译成等价的目标程序术语:汇编程序:把汇编语言程序翻译成等价的机器语言程序编译程序:把高级语言程序翻译成等价的低级语言程序源程序目标程序源语言目标语言运行子程序源程序编译程序目标程序输入数据目标程序输出结果运行子程序3编译程序与编译原理高级程序

3、设计语言是一种符号语言编译程序是符号处理的工具编译原理讨论:编译程序构造的基本原理、技术和方法编译原理=形式语言理论+编译技术编译原理课程内容程序设计语言相关概念:认识编译程序的结构与功能形式语言理论基本概念:为第三部分的讨论打下良好基础编译程序构造原理编译原理课程的基本内容2.程序设计语言和程序2.1程序及其结构程序的概念:计算机能执行的指令序列进一步,计算任务的处理对象和处理规则的描述程序=算法+数据结构程序与程序设计语言相联系,依据语言写程序高级程序设计语言程序按一定的构架构成语法成分的层次:基本符号—符号—量—表达式—语句—函数定义—程序归根到底,程序由一连串的基本符号

4、组成。不同的程序设计语言有不同的基本符号集C语言基本符号(字符):字母数字+-*/%=()[],:;?#等C语言符号:标识符、常量、字符串、标号、关键字,以及运算符、标点符号等专用符号2.2程序设计语言的定义2.2.1程序设计语言的四个方面语法语义语用语境2.2.2语法定义语法图BNF表示法口语语法图:函数定义类型函数标识符(形参表列)函数体+简单表达式项-+-项BNF表示法:<函数定义>::=<类型><函数标识符>(<形参表列>)<函数体><形参表列>::=<形参表列><形参>

5、<形参>2.2.3高级程序设计语言程序的执行编译方式源程序编译程序目标程序输入数据目标程序输出结果

6、运行子程序3.编译程序构造及相关概念3.1编译程序的构造3.1.1任务编译程序的性质:符号处理的工具编译程序的作用:把高级程序设计语言源程序翻译成等价的低级语言目标程序分析:词法分析语法分析语义分析综合:目标代码生成代码优化3.1.2构造前端:分析后端:综合词法分析程序:功能:输入输出:语法分析程序:功能:输入输出:语义分析程序:功能:输入输出:目标代码优化:功能:输入输出:目标代码生成:功能:输入输出:3.2趟的概念编译程序分成若干阶段,每一阶段以前一阶段的输出作为输入,对源程序或中间表示从头到尾地扫描处理的过程称为一趟。分成几趟,编译程序便称为几趟的编译程序。一趟编译程序:

7、3.3编译程序分类诊断型优化型可重定位型交叉型增量型3.4实际应用中的编译程序1.程序开发支持环境2.预处理3.非标准版本

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

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

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