首页 理论教育 编译技术的应用-《编译原理与实践》成果

编译技术的应用-《编译原理与实践》成果

时间:2023-11-17 理论教育 版权反馈
【摘要】:编译技术的应用领域很广,最为典型的当属程序设计语言方面。开发这些工具不同程度地应用了编译程序各个部分的方法和技术,具体表现在以下4个方面。一般来说,程序的测试工具包括两种,一种是静态分析器,一种是动态测试器。动态测试器通过在程序的合适位置插入一些信息,结合测试用例来记录程序的实际执行路径,并将运行结果与期望的结果进行比较分析,以此来帮助程序开发人员查找所存在问题。

编译技术的应用-《编译原理与实践》成果

编译技术的应用领域很广,最为典型的当属程序设计语言方面。为了提高编程的效率,缩短调试的时间,确保程序的可靠性软件工作者研发了不少用于程序语言处理方面的工具。开发这些工具不同程度地应用了编译程序各个部分的方法和技术,具体表现在以下4个方面。

(1)结构化的程序编辑器。这种编辑器除了具备基本的文本编辑功能外,还能够像编译程序那样对程序文本进行分析,从而使程序的书写规范化。代表性的软件工具有Editplus和Ultraedit等。

(2)程序调试工具。结构化编辑器只能解决语法错误的问题,对于一个已经通过编译的程序而言,需要进一步了解程序的执行过程是否满足算法的设计要求,是否实现了预期的功能以及程序的运行结果是否正确等,而这些工作都可以利用调试工具来完成。调试工具的开发主要涉及程序的语法和语义分析技术,调试功能越强大,实现起来就越复杂。(www.xing528.com)

(3)程序测试工具。一般来说,程序的测试工具包括两种,一种是静态分析器,一种是动态测试器。其中,静态分析器用来对程序进行静态的分析,主要工作包括对程序进行语法分析并查填相关表格,检查变量定值与引用的关系等。例如,检查变量是否未定值就引用,或定值后未被引用,或源代码冗余等一些编译程序的语法分析所发现不了的错误。动态测试器通过在程序的合适位置插入一些信息,结合测试用例来记录程序的实际执行路径,并将运行结果与期望的结果进行比较分析,以此来帮助程序开发人员查找所存在问题。C语言的测试工具就属于这种类型。

(4)语言转换工具。计算机硬件的逐步更新换代推动着程序设计语言顺应时代潮流,与时俱进,不断向着更新、更好的方向迈进,同时,程序设计语言的推陈出新也为提高计算机的使用效率提供了良好的条件。然而,如何把一些常用软件或重要软件在无须重新编程的前提下就能在新的机器和语言环境下使用起来,成为一个十分关键的问题。为了避免重新编制程序所带来的人力和时间耗费,一种可行的解决途径就是将一种高级语言程序自动转换成另一种高级语言程序。当然,这种方法也适用于汇编语言程序向高级语言程序的转换。转换工具的开发要用到程序的词法和语法分析技术,最终生成的目标语言是另一种高级语言,而非编译程序所生成的汇编语言或机器语言

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈