- 1、本文档共67页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理和技术Principles of Compiling;编译原理课程在计算机科学技术中的地位:;本讲纲要;课 程 简 介;课 程 简 介;课 程 简 介;课 程 简 介;课 程 简 介;课 程 简 介;课 程 简 介----要求;课 程 简 介;课 程 简 介;if (c == 5) then …
if (c = 5) then…;课 程 简 介;课 程 简 介;普通计算器;课 程 简 介;各种数据库查询语言及专家系统;在x86/Linux工作站上,以下两个结构的size分别是20和16,为什么不一样?
typedef struct _a{ typedef struct _b{
char c1; char c1;
long i; char c2;
char c2; long i;
double f; double f;
}a; }b;;typedef struct _a{ typedef struct _b{
char c1; char c1;
long l; char c2;
char c2; long l;
double f; double f;
}a; }b;;typedef struct _a{ typedef struct _b{
char c1; char c1;
long l; char c2;
char c2; long l;
double f; double f;
}a; }b;;;;;类型;本讲纲要;编辑器;BASIC年代的解释器
功能:它将高级语言的源程序翻译成一种中间语言程序,然后对中间语言程序进行解释执行
在那个年代,编译和解释两个功能是合在一个程序中,该程序被称为解释器
Java年代的解释器
解释器的上述两个功能分在两个程序中
前一个叫做编译器,它把源程序翻译成一种叫做字节码的中间语言程序
后一个叫做解释器,它对字节码程序进行解释执行;编译器和解释器的区别;编译器和解释器的区别;编译器和解释器的区别;编译器和解释器的区别;编译器和解释器的区别;第一章 引论;编程语言演义;编程语言演义;编程语言演义;编程语言演义;编译器功能;词法分析器
;第一章 引 论;遍;遍;遍;遍;遍;遍;遍(趟):
一遍或一趟:是指编译程序在编译时刻把源程序或源程序的等价物(中间程序)从头到尾扫描一遍并转换成另一紧邻的等价物的全过程。
单遍扫描与多遍扫描:每一遍的扫视可完成上述一个阶段或多个阶段的工作。每一遍的输入都是上一遍的输出,第一遍的输入是源程序正文,最后一遍的输出是目标代码。
单遍与多遍的比较:
遍数多:编译器结构清晰,但时间效率不高
遍数少:编译速度快,但对机器的内存要???高
遍数的确定:主要因素是源程序和机器(目标机)的特征。;符号表 ;任何一个标识符都是表达式;
任何一个数都是表达式;
如果e1和e2都是表达式,那么
? e1 + e2
? e1 * e2
? (e1)
也都是表达式;语法分析器;语义分析器;词法分析器
;中间代码生成器;代码优化器;temp1 := id3 * 60.0
id1 := id2 + temp1;词法分析器
;词法分析器
;词法分析器
;前端和后端:
把编译过程分成前端和后端两部分
前端:只依赖于源程序,独立于目标机器
(生成中间代码)
后端:依赖于目标机器,与源程序无关,只与中间语言有关(从中间代码生成目标代码)
好处:提高开发编译器的效率
取一个编译器的前端,重写它的后端以产生同一源语言在另一机器上的编译器
不同的前端使用同一个后端,从而得到一个机器上的几个编译器(采用同一中间语言);源程序;高级语言的实现
高级编程语言易于编程,但程序运行较慢
低级语言编程时可实施更有效的控制方式,得到更有效的代码,但难编写、易出错、难维护
流行编程语言的大多数演变都是朝着提高抽象级别的方向
每一轮编程语言新特征的出现都刺激编译器优化的新研究;程序翻译
二进制翻译
编译器技术可用于把一种机器的二进制代码翻译成另一种机器的代码,以运行原先为别的指令集编译的代码
数据库查询解释器
数据库查询由一些谓词组成,这些谓词由包含关系运算的布尔表达式组成,可以被解释执行,也可以被编译成有哪些信誉好的足球投注网站数据库的命令;提高软件开发效率的工具
源于编译器中代码优化技术的程序分析一直在改进软件开发效率
类型检查
类型检查是一种捕捉程序中前后不一致的成熟而有效的技术
边界检查
数据流分析技术可用来定位缓冲区溢出
内存管理
自动的内存管理删除内存泄漏等内存
您可能关注的文档
- 大铁椎传人物形象分析PPT课件.ppt
- 大学汉语知识PPT课件.ppt
- 大学生创业成功案例PPT课件.ppt
- 大学文科数学-张国楚-定积分PPT课件.ppt
- 大学物理第二章-3-波的能量PPT课件.ppt
- 大学英语-多媒体-大学英语Ⅲ-unit6-The-Last-Leaf-unit6-The-Last-Leaf-Unit-SixPPT课件.ppt
- 大学有机化学-第8章-卤代烃PPT课件.ppt
- 大雪压青松PPT课件.ppt
- 贷后催收工作要求PPT课件.ppt
- 单项式乘单项式PPT课件.ppt
- 义务教育数学课程标准2023年版测试题库含答案 .pdf
- 宾阳县黎城医院介绍企业发展分析报告模板.docx
- 2025-2030年中国分红保险行业市场现状调查及发展趋向研判报告.docx
- 中国聚胺脂弹性防水胶行业市场规模及未来投资方向研究报告.docx
- 100. 高认可度的2025年教师资格考试试题相关知识掌握攻略.docx
- 2025年防水堵漏注浆工程施工方案.docx
- 2025年中国电容式湿度传感器行业市场前景预测及投资价值评估分析报告.docx
- 2025年换电市场调查报告.docx
- 2025年一次性卫生用品项目可行性分析报告参考范文.docx
- 中国变性木薯淀粉行业市场前景预测及投资价值评估分析报告.docx
最近下载
- 某矿山岩爆倾向性判断研究.doc
- 管道重量计算表格(自动计算Excel)供回水管道各类管道-计算参数.xls
- 小学语文《习作:家乡的风俗》课件.pptx VIP
- 仁爱英语九年级Unit6 Topic1练习题及答案解析英语练习题.pdf VIP
- QB-T 2673-2013 鞋类产品标识.pdf VIP
- 晶圆厂投资协议书.docx VIP
- 人教版道德与法治一年级下册《第二单元 我们一起长大》大单元整体教学设计.docx
- GB∕T 3293-2017 中国鞋楦系列(高清版).pdf
- 河南省南阳市方城县2024-2025学年七年级上学期期终阶段性调研语文试卷(含答案).docx VIP
- GBT 15107-2013 旅游鞋(必威体育精装版版).pdf
文档评论(0)