首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 437 毫秒
1.
基于XML Schema技术的编译符号表生成方法   总被引:1,自引:0,他引:1  
聂南  谢晓东  甘勇 《计算机科学》2007,34(5):285-287
传统的编译中间代码通常不能在移动、嵌入式和分布式等环境之间转换,而符号表的构造与管理贯穿整个中间代码的生成过程。本文提出一种基于XML Schema及其相关技术生成编译中间代码的符号表的方法。首先给出整体方案,然后阐述了如何运用XML Schema等技术表示编译器的前端,以及后端的目标机体系结构。生成的编译器符号表能通过XML工具统一管理和验证,从而使生成的编译中间代码有较高的可移植性,能被不同环境中的编译器采用。  相似文献   

2.
AOP及其编织技术的研究   总被引:2,自引:0,他引:2  
AOP(Aspect Oriented Programming)是一种新的编程技术,它为开发者提供了一种描述横切关注点的机制,并能够自动将横切关注点编织到面向对象的软件系统中,从而实现了横切关注点的模块化,通过划分方面代码,横切关注点变得容易处理。介绍了AOP框架中经常出现的概念和AO软件的开发过程,着重讨论了当前比较流行的几种编织技术并阐述了这几种编织技术各自的优缺点。  相似文献   

3.
传统的形式化方法和软件运行时监控都是提高软件可信性的有效途径,但存在监控需求表达能力不强及代码分散等问题。针对该问题,提出基于形式化监控的可信软件构造技术FM-TSPM,将形式化方法和运行时监控相结合,实现跨领域的方法融合。用形式化方法描述监控约束,根据监控约束生成方面监控代码,解决代码分散问题。采用AOP编织器将方面代码编织到目标系统中,构造出带监控能力的可信软件。  相似文献   

4.
脚本引擎的简单实现   总被引:1,自引:0,他引:1  
脚本是使用一种特定的描述性语言,依据一定的格式编写的可执行文件,又称作宏或批处理文件.脚本引擎对脚本进行编译和执行.一个脚本引擎通常包括的组件有:符号表、词法分析器、语法分析器、语义检查器、中间代码生成器、代码优化器、代码生成器、虚拟机.通过对一个简单脚本引擎实现过程的分析,可以深入理解各组件的实现方法.将以上组件合起来,就可以执行脚本语言.脚本语言可以通过调用软件的COM来扩展功能,实现软件的定制,也可以实现软件的自动化.  相似文献   

5.
面向方面的编程的研究与实现   总被引:15,自引:1,他引:14  
面向方面的编程(AOP)是一种新的编程技术,它弥补了面向对象的编程(OOP)在跨越模块行为上的不足。 AOP 引进了Aspect,它将影响多个类的行为封装到一个可重用模块中,它允许程序员对横切关注点进行模块化,从而消除了OOP引起的代码混乱和分散问题,增强了系统的可维护性和代码的重用性。首先进行了AOP与OOP的比较,给出了AOP的原理和AOP的JBoss实现,最后介绍AOP在设计模式中的应用,并说明了使用它所带来的设计益处以及在应用AOP中应注意的问题。  相似文献   

6.
面向对象的编程OOP(Object Oriented Programming)能够有效地解决面向过程语言的缺陷,现有的软件项目大都采用面向对象的编程范型。但是OOP不能解决由于横切属性带来的代码混乱和代码分散等诸多问题,导致系统的可读性和复用性差,因此引入了面向方面的编程AOP(Aspect—Oriented Programming)思想。该编程思想可使开发者有效地将业务关注点与横切关注点分离,解决OOP的难题。介绍了AOP技术中较成熟的语言——AspectJ及其相关概念,通过一个信息管理系统,展示AOP技术在处理横切关注点时发挥的优势。  相似文献   

7.
68000C反编译程序能将C编译生成的目标码经反汇编产生的68000汇编语言程序翻译成C语言程序。该反编译程序主要由语句翻译器和符号表产生器两部分组成。本文介绍语句翻译器的结构、算法和实现方法。  相似文献   

8.
为了满足监控组态软件对编程接口不断增长的新需求,借鉴本学院开发的YSS电力系统中的C2000组态监控语言,设计了面向列车监控组态系统的C3000组态监控语言;C3000使用了面向对象编译技术、虚拟机技术和优先级中间代码导入内存算法;相对于C2000语言,C3000语言对中间代码、中间代码导入内存算法和异常处理机制进行了替换和改进,根据实验结果,执行效率、稳定性和可扩展性明显提高。  相似文献   

9.
基于GCC的VLIW编译系统研究   总被引:1,自引:1,他引:0  
VLIW机器在单个机器周期中同时发射并执行多个的并行操作,从而获得较高的指令级并行度,这些操作之间的依赖分析和调度工作则被完全交给相应的编译器执行,因此VLIW的并行性能能否充分发挥取决于VLIW体系结构相关编译器的质量。GNU开发的GCC是被最广泛使用的编译系统之一,它具有多语言、多平台支持的能力和开放的结构,能够运用各种成熟的常规编译优化技术生成高效的代码。文章分析了VLIW及GCC的结构特点,提出了一种基于GCC的VLIW编译系统设计方案,利用GCC进行RTL中间代码一级的体系结构无关优化和少量体系结构相关优化,在汇编代码一级针对VLIW结构进行体系结构相关的优化,从而充分利用GCC的成熟编译技术快速开发高效的VLIW多语言编译系统。  相似文献   

10.
李伟  郑宁 《计算机工程与设计》2004,25(11):1985-1987
分析了常见代码规则强化方法中存在的问题,结合AOP(Aspect-Oriented Programming,简称AOP)的特点,给出了一种基于AOP的代码规则强化方法,并用方面来表示代码规则,通过把代码规则织入系统代码,在编译阶段和运行阶段实现了代码规则强化。  相似文献   

11.
关于AOP实现机制和应用的研究   总被引:20,自引:2,他引:20  
AOP(Aspect-Oriented Programming)是一种支持横切关注的分解的技术,表达更高的抽象层次。它对于横切关注点就像面向对象程序设计对于对象封装和继承一样,提供了能够明确捕获横切结构的语言机制。一个模块化良好的横切关注点叫一个侧面(aspect)。首先介绍了AOP的基本思想,然后针对侧面代码和功能代码的编织问题讨论了几种典型的AOP实现机制的特点,优势及缺陷,最后展望了AOP的应用和发展方向,为进一步研究提供参考。  相似文献   

12.
ITU-UG.729A的ANSIC代码能够从ITU免费下载,但是它只实现了单路的应用,并且由于编解码的计算量巨大,ANSIC代码并不直接适用于数字信号处理器芯片(DSP)。论文描述了采用ITU-UG.729A8-kbit/s算法的多路声码器在TMS320C54xDSP上的实时实现方法。文章首先介绍了G.729A算法标准,然后讨论了如何构建C语言级的多路声码器,最后研究了如何将该C代码转换成TMS320C54x的汇编语言程序,并同时满足实时要求。整个程序在笔者自行开发的目标板上实现,并已成功地用于相应的VOIP系统中。  相似文献   

13.
面向方面软件开发研究   总被引:4,自引:0,他引:4  
系统的某些关注点横切整个系统,无法很好地封装在单个模块里,造成代码混乱和弥散,用面向方面编程AOP可以解决这些问题。首先介绍了现代软件开发方法及其产生的问题;其次,阐述了AOP的基本概念,并结合AspectC++演示了如何进行面向方面的编程;再次,描述了如何对UML扩展以支持对方面建模;然后介绍了面向方面软件开发在实时系统中的应用;最后给出了结论和未来的主要工作。  相似文献   

14.
结合云南某复烤厂烟箱打包工段装箱烟叶信息管理系统开发过程,介绍一种利用PowerBuild-er数据库应用程序开发平台和Dream Weaver网页制作平台联合开发C/S和B/S相结合的信息管理系统。整个系统的主要数据都由电脑自动采集完成,所有装箱烟叶的工艺参数都在数据库中存档备案,并且进行条码管理,为烟叶出厂后的质量追踪提供可靠的依据,使液压打包工段的自动化程度得到大幅度的提升。  相似文献   

15.
《Knowledge》2007,20(7):636-651
Aspect-Oriented Programming (AOP) is a programming paradigm that supports the modular implementation of crosscutting concerns. Thereby, AOP improves the maintainability, reusability, and configurability of software in general. Although already popular in the Java domain, AOP is still not commonly used in conjunction with C/C++. For a broad adoption of AOP by the software industry, it is crucial to provide solid language and tool support. However, research and tool development for C++ is known to be an extremely hard and tedious task, as the language is overwhelmed with interacting features and hard to analyze. Getting AOP into the C++ domain is not just technical challenge. It is also the question of integrating AOP concepts with the philosophy of the C++ language, which is very different from Java. This paper describes the design and development of the AspectC++ language and weaver, which brings fully-fledged AOP support into the C++ domain.  相似文献   

16.
This paper reports on the challenges of using aspect-oriented programming (AOP) to aid in re-engineering a legacy C application. More specifically, we describe how AOP helps in the important reverse engineering step which typically precedes a re-engineering effort. We first present a comparison of the available AOP tools for legacy C code bases, and then argue on our choice of Aspicere, our own AOP implementation for C. Then, we report on Aspicere’s application in reverse engineering a legacy industrial software system and we show how we apply a dynamic analysis to regain insight into the system. AOP is used for instrumenting the system and for gathering the data. This approach works and is conceptually very clean, but comes with a major quid pro quo: integration of AOP tools with the build system proves an important issue. This leads to the question of how to reconcile the notion of modular reasoning within traditional build systems with a programming paradigm which breaks this notion.  相似文献   

17.
ContextAspect-oriented programming (AOP) promises to improve many facets of software quality by providing better modularization and separation of concerns, which may have system wide affect. There have been numerous claims in favor and against AOP compared with traditional programming languages such as Objective Oriented and Structured Programming Languages. However, there has been no attempt to systematically review and report the available evidence in the literature to support the claims made in favor or against AOP compared with non-AOP approaches.ObjectiveThis research aimed to systematically identify, analyze, and report the evidence published in the literature to support the claims made in favor or against AOP compared with non-AOP approaches.MethodWe performed a systematic literature review of empirical studies of AOP based development, published in major software engineering journals and conference proceedings.ResultsOur search strategy identified 3307 papers, of which 22 were identified as reporting empirical studies comparing AOP with non-AOP approaches. Based on the analysis of the data extracted from those 22 papers, our findings show that for performance, code size, modularity, and evolution related characteristics, a majority of the studies reported positive effects, a few studies reported insignificant effects, and no study reported negative effects; however, for cognition and language mechanism, negative effects were reported.ConclusionAOP is likely to have positive effect on performance, code size, modularity, and evolution. However its effect on cognition and language mechanism is less likely to be positive. Care should be taken using AOP outside the context in which it has been validated.  相似文献   

18.
扩展UML用于面向方面的建模   总被引:3,自引:0,他引:3  
曾路  张立臣 《微机发展》2004,14(12):106-107,110
面向方面编程(AOP)向用户提供了把贯穿特性模块化和编排的能力,以便获得最大的代码重用以及解决代码混乱的问题。然而,目前还没有合适的对AOP的建模语言。文中讨论了一种扩展UML用于面向方面的建模的方法,并通过一个例子来说明这种方法的应用。  相似文献   

19.
面向方面的编程(AOP)是一种新的编程技术,它弥补了面向对象的编程(OOP)在跨越模块行为上的不足。AOP引进了Aspect,它将影响多个类的行为封装到一个可重用模块中,它允许程序员对横切关注点进行模块化,从而消除了OOP引起的代码混乱和分散问题,增强了系统的可维护性和代码的重用性。该文分析传统权限控制、事务控制的实现方法,并研究了在AOP下权限控制、事务控制的实现方法从而为AOP技术在项目中的应用提供一定的参考。  相似文献   

20.
AOP技术在面向用户的软件组件测试中的应用   总被引:1,自引:0,他引:1  
面向方面编程AOP(Aspect-Oriented Programming)是一种支持横切关注点的分解技术,表达了更高的抽象层次,能够提供明确的截获横切结构的语言机制.讨论AOP技术在面向用户的软件组件测试技术中的应用,分析了如何使用AOP提高组件测试的可维护性和可复用性.  相似文献   

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

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