首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 15 毫秒
1.
魏兰  李文锋 《计算机工程》2007,33(13):104-106
采用面向对象技术设计可视化程序设计语言的编译系统,通过对复杂的可视化图片语法进行分析,将各语法现象以语法单元类的形式进行抽象分类,提出了编译器-编译器的设计策略,给出了从可视化图片设计语言到伪指令代码的解决方法。主要研究在面向对象的编辑环境中如何实现满足硬件设备控制器的稳定、高效的编译系统。通过将可视化程序语言分析器(VPLPG)和小型的类C编译(LCC)器配合使用最终实现可视化程序设计语言的编译系统。  相似文献   

2.
出具证明编译器在软件安全研究得到越来越多的关注,是程序验证研究的一个重要方向.但目前关于出具证明编译器的研究主要是在程序逻辑设计和定理自动化证明方面,很少关注编译优化对规范的影响.而编译优化是决定出具证明编译器是否能走向应用的关键因素之一.通过研究数据流优化的基本行为,提出利用数据流分析结果来变换规范的方法,以使原规范的约束准确而充分地施加于优化后的代码,并实现了一个包含多种优化和相应规范转换的编译器原型系统,展示了方法的可行性.  相似文献   

3.
张铎  王生原  董渊 《计算机工程》2010,36(21):239-241
基于开源高性能编译器Open64,以PowerPC嵌入式处理器为例,开展重定向关键问题研究和代码实现,自主开发完成一款具有工业产品水准的高性能开源编译器后端。gcc-c.torture和SPEC2000实测结果表明,在正确性和性能方面,该编译器均接近或达到和GCC编译器相当的水平,为进一步研究和应用提供良好的编译工具支持以及实现参考,同时为后续自动重定向等工作奠定基础。  相似文献   

4.
在编译原理和虚拟机技术的基础上,采用一种高级语言设计了一个简单的编译器。通过词法分析、语法分析和中间代码、虚拟机等进程,将源程序编译成目标程序,实现了复杂编译器的简单设计。  相似文献   

5.
Java编译程序技术与Java性能   总被引:3,自引:1,他引:3  
冀振燕  程虎 《软件学报》2000,11(2):173-178
概述了Java编译程序技术,把Java编译程序分成5类:具有解释技术的编译程序;具有及时(JIT)编译技术的编译程序;具有自适应优化技术的编译程序;本地编译程序和翻译程序.详细描述和分析了它们的体系结构和工作原理.同时也分析了编译程序技术对Java性能的影响.  相似文献   

6.
孙青岩  陈平 《计算机工程》2004,30(20):42-44
内存泄漏是程序设计中经常出现的问题,会降低系统性能,甚至耗尽内存空间导致系统崩溃。文章采用反射和开放编译技术,对开放编译器OpenC 进行了扩展与改进,设计并实现了一个CC 动态内存泄漏检测工具,以帮助开发和测试人员查找内存泄漏。  相似文献   

7.
复杂自适应系统中的软件实体既需要完成业务功能,又需要不断地感知环境,并根据环境的变化调整自己的结构和行为来适应环境,完成自适应功能。当前自适应系统的开发存在将自适应逻辑和业务逻辑相互缠绕的问题,使得自适应系统的开发和维护变得极为复杂和困难。本文将自适应系统中的自主运行单元抽象为自适应Agent,将自适应Agent的业务逻辑和自适应逻辑相分离,提出了表述Agent如何适应环境变化的自适应策略描述语言SADL。为了将自适应策略编译成可执行的程序单元,本文设计并实现了SADL编译器。通过案例分析阐述了如何定义自适应策略,并展示了编译结果,验证了方法的有效性。  相似文献   

8.
同步数据流语言近年来在航空、高铁、核电等安全关键领域得到广泛应用.然而,此类语言相关开发工具本身的安全性业已成为被高度关注的安全隐患之一.借助辅助定理证明器实现常规语言编译器的构造和验证已被证明是成功的,有望最大限度地解决误编译问题.基于这种方法,开展了从同步数据流语言(Lustre为原型)到串行命令式语言(C为原型)的可信编译器构造的关键技术研究.其挑战性在于两类语言之间的巨大差异,源语言具有时钟同步、数据流、并发及流数据对象等特征,而目标语言则具有顺序控制流特征.同类研究中,目前尚无针对核心翻译过程的公开成果.就单一时钟的情形实现了一个经过形式化验证的完整编译过程,相关技术将应用于安全关键领域编译系统的开发.综述了这一可信编译器的研究背景、意义、总体设计框架、核心技术、现状以及进行中或后续的工作.  相似文献   

9.
High-performance streaming applications are a new and distinct domain of programs that is increasingly important. The StreamIt language provides novel high-level representations to improve programmer productivity and program robustness within the streaming domain. At the same time, the StreamIt compiler aims to improve the performance of streaming applications via stream-specific analysis and optimizations. In this paper, we motivate, describes and justify the StreamIt language which include a structured model of streams, a messaging system for control, and a natural textual syntax.  相似文献   

10.
The use of object-oriented techniques and concepts, like encapsulation and inheritance, greatly improves language specifications towards better modularity, reusability and extensibility. Additional improvements can be achieved with aspect-oriented techniques since semantic aspects also crosscut many language constructs. Indeed, aspect-oriented constructs have been already added to some language specifications. The LISA compiler construction system follows an object-oriented approach and has already implemented mechanisms for inheritance, modularity and extensibility. Adding aspects to LISA will lead to more reusable language specifications. In the paper, aspect-oriented attribute grammars are introduced, and the underlying ideas are incorporated into AspectLISA, an aspect-oriented compiler generator based on attribute grammars.  相似文献   

11.
文章通过9个程序详细介绍PIC单片机在PICC编译器环境下,C语言与汇编语言混合编程的方法并对出现的情况进行分析解决,最后对C语言与汇编语言混合编程的优劣提出自已的看法。  相似文献   

12.
并行化编译系统将串行程序划分成若干个相对独立的模块并行执行。将串行程序转换成并行程序之后,在它们的执行过程中需要进行运行控制。本文主要讨论在并行化编译系统的运行控制中,并行模块的启动以及它们之间的数据通信。  相似文献   

13.
在并行编译中,循环变换是开发程序并行度的主要方法,但存在复杂控制流的非紧密嵌套循环往往无法得到有效的并行化。文章结合分析Benchmark和实现自动并行化系统AFT中复杂非紧密嵌套循环变换的经验,给出复杂非紧密嵌套循环变换的特点及其在并行编译中的应用。  相似文献   

14.
即时编译器中的代码消极生成机制   总被引:1,自引:0,他引:1       下载免费PDF全文
提出一种应用于即时编译器中的代码生成优化技术——代码消极生成机制,结合Intel微处理器研究院的XORP虚拟机对该项技术进行了阐述。介绍了XORP中实现的其他轻量级优化算法,并采用EEMBC对不同虚拟机和不同优化进行了科学评估。采用该项技术的XORP虚拟机的运行速度为KVM的15倍以上,超过其他商用高性能虚拟机。  相似文献   

15.
同步语言Lustre所描述的反应系统通常应用在航空航天、国防建设等领域,对系统的正确性和安全性都要求很高。如果系统在运行时出现了正确性问题,很可能会导致系统崩溃,产生非常严重的后果。系统中的任何一个词法错误或者语法错误都应该受到重视,而且应该被及时纠正。因此,对Lustre语言进行正确的编译是十分重要的。传统的Lustre语言的编译器都采用OCaml语言描述,无法保证所有人员都能够很容易地理解和使用,而且,需要耗费开发人员大量的时间和精力。基于上述问题,提出了一种新型的Lustre语言编译器。新型的Lustre语言编译器前端主要采用C++语言进行描述,并对生成的抽象语法树的结构进行重新定义,简化了编译的过程。该编译前端会对一个经典的Lustre语言模型进行检测,通过对检测的结果进行分析,验证了该编译前端的可行性。  相似文献   

16.
携带证明代码允许代码消费方通过检查代码生产方提供的证明,来判断代码是否满足相应的安全规范.本文实现了一个类C语言的出具证明编译器原型,它在将带有规范标注的源代码编译成汇编代码的同时,还能产生汇编代码满足相应规范的Coq可检查证明,从而保证汇编代码的安全性.本文设计了一种Hoare风格的汇编级验证框架,并在此框架下提出并实现一种新的自动生成汇编级断言和证明的方法.  相似文献   

17.
基于编译理论与虚拟机技术,经过词法分析、语法分析、语义分析等过程,设计一个简单的编译器,将某一种源程序编译成目标程序,以验证结果的正确性。  相似文献   

18.
This paper presents source-level transformations that improve the performance of programs using synchronous and asynchronous message passing primitives, including remote call to an active process (rendezvous). It also discusses the applicability of these transformations to shared memory and distributed environments. The transformations presented reduce the need for context switching, simplify the specific form of communication, and/or reduce the complexity of the given form of communication. One additional transformation actually increases the number of processes as well as the number of context switches to improve program performance. These transformations are shown to be generalizable. Results of hand-applying the transformations to SR programs indicate reductions in execution time exceeding 90% in many cases. The transformations also apply to many commonly occurring synchronization patterns and to other concurrent programming languages such as Ada and Concurrent C. The long term goal of this effort is to include such transformations as an otpimization step, performed automatically by a compiler.This work was supported by NSF under Grant Number CCR88-10617.  相似文献   

19.
郭德贵  王冠成  吕帅  刘磊 《软件学报》2017,28(5):1221-1232
部分求值技术在程序优化及软件自动生成等方面,有着极为重要的作用.本文将部分求值技术应用到编译器测试中.为此,设计了一个C语言的子集peC语言,给出了该语言的部分求值策略的形式化描述,实现了peC语言的部分求值器,设计了基于部分求值技术的编译器测试框架.通过实验,本文的方法可以检测出大部分之前的其它的方法发现的GCC、LLVM编译器中的错误,此外还发现了其它方法不能发现的错误,表明将部分求值技术应用到编译器测试中是有效的.  相似文献   

20.
This paper describes experiences from implementing key parts of a compiler for Modelica, an object-oriented language supporting declarative modeling and simulation of complex physical systems. Our implementation uses the attribute-grammar based tool JastAdd. In particular, we discuss the implementation of Modelica name analysis which is highly context-dependent, type analysis which is based on structural subtyping, and flattening which is a fundamental part of the Modelica compilation process.of so called modifications, Modelica.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号