共查询到18条相似文献,搜索用时 890 毫秒
1.
2.
1 引言为便于开展对计算机体系结构、编程语言和编程环境的研究,必须能够快速地产生高质量的编译器。编译器的构造是一个繁琐的工作,经常是一个瓶颈。在通常情况下,尽管必须修改的成份仅占整个编译器的一小部分,但却要重新构造整个编译器。在编译器成份和算法方面虽已积累了丰富的研究成果,尚未能为广泛编译器开发者所共享。随着嵌入式系统的迅速发展和高性能体系结构的推陈出新,对编译器的开发速度和质量提出了新的挑战和需求。为此,人们在编译基础设 相似文献
3.
编译器前端自动构造的研究与实现 总被引:2,自引:0,他引:2
编译器是高级语言的工作基础,它本身是一种复杂的程序。文中研究并实现了编译器前端的自动构造技术,能大大提高编译类软件的开发效率。重点讨论了如何合理设置接口,以便综合运用词法、语法分析器的自动构造工具LEX和YACC。提出了预置三级错误陷阱来分别俘获源程序词法、语法、语义错误的思想,能减少错误级联,并能更准确地报告错误的性质。作者已应用该技术编写出一个面向C语言的并行语言编译器前端,验证了该技术是可行的和高效的。 相似文献
4.
编译器是高级语言的工作基础,它本身是一种复杂的程序.文中研究并实现了编译器前端的自动构造技术,能大大提高编译类软件的开发效率.重点讨论了如何合理设置接口,以便综合运用词法、语法分析器的自动构造工具LEX和YACC.提出了预置三级错误陷阱来分别俘获源程序词法、语法、语义错误的思想,能减少错误级联,并能更准确地报告错误的性质.作者已应用该技术编写出一个面向C语言的并行语言编译器前端,验证了该技术是可行的和高效的. 相似文献
5.
随着信息技术的发展和普及,软件在计算机系统中的作用越来越重要.软件的可信性受到了日益广泛的关注.高级语言编写的软件必须经过编译才能在硬件上执行,因此编译器的可信性直接影响软件的可信性.概括地讲,可信编译是指编译器在保证编译过程正确性(编译前的源代码和编译后的目标代码语义一致)的同时,确保生成的目标代码是可信的.可信编译器不仅仅实现语义保持的代码转换功能,还 相似文献
6.
编译器是重要的系统软件之一,高级语言编写的软件都必须经过编译器的编译才能成为可执行程序。编译器的可信性对于整个计算机系统而言具有非常关键的意义,如果编译器不可信,则很难保证系统所运行软件的可信性。可信编译是指编译器在保证编译正确的同时提供相应的机制保证编译对象的可信性,对可信编译理论和技术的研究具有重要理论意义和实用前景。阐述了可信编译器的概念,介绍了编译过程正确性的形式化定义,对可信编译的主要研究进行了概括。在全面分析可信编译研究现状的基础上,从编译器自身可信性和确保编译对象可信性两个方面,对可信编译器设计和实现的相关理论和方法进行了分类和总结。最后,讨论了可信编译有待解决的问题和未来的研究方向。 相似文献
7.
一个面向对象的Java程序生成器 总被引:1,自引:0,他引:1
JPG是作者设计的一个Java应用程序生成器.它包括一个面向对象的非过程化语言OO-ADL及其编译器和一个可视化的界面生成器UIG。OO-ADL允许用户以语言的方式定义用户需求,然后通过OO-ADL编译器将该需求编译为Java代码、UIG以可视化的操作方式帮助用户生成用户界面的Java代码。文中介绍了JPG的基本思想、结构,OO-ADL语言的语法定义,OO-ADL编译器和UIG的Java代码生成技术。 相似文献
8.
同步语言Lustre所描述的反应系统通常应用在航空航天、国防建设等领域,对系统的正确性和安全性都要求很高。如果系统在运行时出现了正确性问题,很可能会导致系统崩溃,产生非常严重的后果。系统中的任何一个词法错误或者语法错误都应该受到重视,而且应该被及时纠正。因此,对Lustre语言进行正确的编译是十分重要的。传统的Lustre语言的编译器都采用OCaml语言描述,无法保证所有人员都能够很容易地理解和使用,而且,需要耗费开发人员大量的时间和精力。基于上述问题,提出了一种新型的Lustre语言编译器。新型的Lustre语言编译器前端主要采用C++语言进行描述,并对生成的抽象语法树的结构进行重新定义,简化了编译的过程。该编译前端会对一个经典的Lustre语言模型进行检测,通过对检测的结果进行分析,验证了该编译前端的可行性。 相似文献
9.
10.
StarBus中接口定义语言编译器的设计与实现 总被引:1,自引:0,他引:1
从阐述接口定义语言(IDL)编译器在CORBA开发模型中的地位和作用开始,提出了IDL编译器的设计框架,将其分为编译器前端(CFE)和后端(BE)。然后详细说明了IDL编译器用到的接口的数据结构,并介绍了CFE和BE的实现过程。在介绍BE的实现时,着重说明了它用到的Narrowing机制,最后,说明了IDL编译器(到C++Mapping)的使用环境。 相似文献
11.
12.
针对传统编译器过于抽象复杂的不足,本文提出MiniC实例语言,采用面向对象技术实现该语言的编译器。MiniC编译器可以演示复杂的程序分析过程,给出编译各阶段的详细分析结果,使编译原理中的抽象内容可视化。实际应用表明,MiniC编译器在促进人们对编译理论的理解和提高系统软件开发能力方面能够发挥重要作用。 相似文献
13.
XML正成为互联网中数据表示和数据交换的标准。扩展DTD支持面向XML的查询,但结构复杂,现有工具无法解析扩展DID,获取元素之间的面向对象信息。利用JavaCC和JJTree设计解析器,包括构造语法和语义分析器,设计扩展DTD的语法规则和解析器的类结构,从而解析扩展DTD,利用解析后的扩展DTD的语法树获取面向对象信息,方便高效,不仅支持XML存储建立,而且支持面向对象XML查询方式,使得查询方式更为灵活多样。 相似文献
14.
同步数据流语言(如Lustre)近年来在航空、高铁、核电等安全攸关领域得到广泛应用.这些领域对相关开发工具本身的安全性有着相当高的要求.为尽力解决好”误编译”问题,近期人们借助reliable-by-construction辅助定理证明器实现常规命令式语言编译器的构造和验证取得了很大的成功,如CompCert C编译器.L2C是基于这种方法开发的可信编译器,它以扩展的Lustre语言为源语言,以Clight (CompCert中的C语言子集)为目标语言.就我们所知,L2C是同类工作中唯一面向实际工业应用的同步数据流语言编译器.本文重点介绍L2C编译器的核心翻译步骤及其设计与实现过程中考虑的主要问题和相关经验. 相似文献
15.
16.
17.
18.
Zhibin YANG Jean-Paul BODEVEIX Mamoun FILALI Kai HU Yongwang ZHAO Dianfu MA 《Frontiers of Computer Science》2016,10(1):37-53
SIGNAL belongs to the synchronous languages family which are widely used in the design of safety-critical real-time systems such as avionics, space systems, and nuclear power plants. This paper reports a compiler prototype for SIGNAL. Compared with the existing SIGNAL compiler, we propose a new intermediate representation (named S-CGA, a variant of clocked guarded actions), to integrate more synchronous programs into our compiler prototype in the future. The front-end of the compiler, i.e., the translation from SIGNAL to S-CGA, is presented. As well, the proof of semantics preservation is mechanized in the theorem prover Coq. Moreover, we present the back-end of the compiler, including sequential code generation and multithreaded code generation with time-predictable properties. With the rising importance of multi-core processors in safetycritical embedded systems or cyber-physical systems (CPS), there is a growing need for model-driven generation of multithreaded code and thus mapping on multi-core. We propose a time-predictable multi-core architecture model in architecture analysis and design language (AADL), and map the multi-threaded code to this model. 相似文献