没有合适的资源?快使用搜索试试~ 我知道了~
编译技术的发展和应用[参照].pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 198 浏览量
2021-10-12
06:02:51
上传
评论
收藏 182KB PDF 举报
温馨提示
试读
14页
编译技术的发展和应用[参照].pdf
资源推荐
资源详情
资源评论
编译技术的发展和应用
据说第一个编译程序的出现是在 20 世纪 50 年代早期,很难讲出确切的时间,因为当初大量的实验和
实现工作是由不同的小组独立完成的,多数早期的编译工作是将算术公式翻译成机器代码。用现在的标准
来衡量,当时的编译程序能完成的工作十分初步,如只允许简单的单目运算,数据元素的命名方式有很多
限制。然而它们奠定了对高级语言编译系统的研究和开发的基础。 20 世纪 50 年代中期出现了 FORTRAN
等一批高级语言, 相应的一批编译系统开发成功。 随着编译技术的发展和社会对编译程序需求的不断增长,
20 世纪 50 年代末有人开始研究编译程序的自动生成工具,提出并研制编译程序的编译程序。它的功能是
以任一语言的词法规则、语法规则和语义解释出发,自动产生该语言的编译程序。目前很多自动生成工具
已广泛使用,如词法分析程序的生成系统 LEX ,语法分析程序的生成系统 YACC 等。 20 世纪 60 年代起,
不断有人使用自展技术来构造编译程序。 自展的主要特征是用被编译的语言来书写该语言自身的编译程序。
1971 年, PASCAL 的编译程序用自展技术生成后,其影响就越来越大。
随着并行技术和并行语言的发展,处理并行语言的并行编译技术,将串行程序转换成并行程序的自动
并行编译技术也正在深入研究之中。 另外嵌入式应用迅速增长的需求,推动了交叉编译技术的发展 .还有
系统芯片设计方法和关键 EDA 技术的研究,也带动了专用语言 VHDL 等及其编译技术的不断深化。
编译实现方式的发展
-手工
机器语言
汇编
系统程序设计语言
-自动构造工具 lex yacc gcc
推动编译技术发展的因素
语言范型(计算模式)
计算机体系结构
语言范型
-命令式 (imperative language)
-应用式 (applicative)
-基于规则的( rule-based )
-面向对象的( object-oriented )
-并行计算 (parallel computing)
体系结构
-万诺曼机体系结构
-并行体系结构
-嵌入系统
编译程序执行环境
-批处理
-交互环境
-嵌入系统环境
为了提高软件开发的效率和保证质量,人们除了要在 软件工程 中对软件开发过程所要遵循的规范化或
标准化外,还尽量使用先进的软件开发技术和相应的软件工具,而大部分软件工具的开发,常常要用到编
译技术和方法。实际上编译程序本身也是一种软件开发工具。为了提高编程效率,缩短调试时间,软件工
作人员研制了不少对源程序处理的工具。这些工具的开发不同程度地用到编译技术和方法。下面仅是一些
例子。
1、语言的结构化编辑器 结构化编辑器是引导用户在语言的语法制导下编制程序,能自动地提供关键
字和与其匹配的关键字,如 if 后必须有 then ,begin 和 end 的配对,左右括号的配对等,这样可以减少语
法上的错误,可加快对源程序的调试,提高效率和质量。
2、语言程序的调试工具 调试是软件开发过程中一个重要环节,结构化编辑器只能解决语法错误的问
题,而对一个已通过编译的程序来说,需进一步了解的是程序执行的结果与编程人员的意图是否一致,程
序的执行是否实现预计的算法和功能。这种对算法的错误或程序没能反应算法的功能等错误就需用调试器
来协助解决。调试器的功能愈强,实现愈复杂,但它必须与语法分析、语义处理有紧密联系。
3、语言程序测试工具 语言程序的测试工具有两种:静态分析器和动态测试器
静态分析器是对源程序进行静态地分析。它对源程序进行语法分析并制定相应表格,检查变量定值与
引用的关系。如某变量未被赋值就被引用,或定值后未被引用,或多余的源代码等一些编译程序的语法分
析发现不了的错误。动态测试工具是在源程序的适当位置插入某些信息,并用测试用例记录 (显示语句或函
剩余13页未读,继续阅读
资源评论
czq131452007
- 粉丝: 2
- 资源: 12万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功