首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到18条相似文献,搜索用时 203 毫秒
1.
源程序静态信息的提取是实现对源程序静态分析的基础,提取的静态信息的完整性、信息的规范性是静态分析的关键点。文章基于GCC编译器产生的AST(AbstractSyntaxTree)中间文件,给出了一种从AST文件中提取源程序的静态信息的方法,以XML(ExtensibleMarkupLanguage)标准格式输出,最后树形化地显示出源程序的结构关系。  相似文献   

2.
抽象语法树(AST)作为程序的一种中间表示形式,在程序分析等诸多领域有广泛的应用。传统的建立AST的方法是通过词法和语法分析的方法。该文提出了一种利用GCC前端结果建立AST的方法,这种方法将GCC编译源程序产生的AST文件,经过一定的格式转换变为XML文档,然后使用XML文档解析器读取该文档,重新建立AST。  相似文献   

3.
C++语言是C语言的超集,C++语言除了在C语言的基础上扩充了面向对象特征外,还扩充了非面向对象特征,本文讨论了C++语言不同于C语言的非面向对象特征、C++面向对象程序设计中的二义性和C++语言的文件操作,并给出了一些应用例子。  相似文献   

4.
DotNet平台中,通常使用C#语言构建应用程序。C#调用C++动态链接库文件时,如果导出函数中涉及自定义类型指针形式的参数传递,需要使用C#中的IntPtr传递指针。在此给出了与C++的联合开发步骤。  相似文献   

5.
所谓的文件夹同步,也叫实时备份,就是保持目标文件夹中的文件随时和源文件中的文件完全一致。要实现同步,程序就必须随时知道源文件夹中的文件是否发生了变化。那么该功能是如何实现的呢?本文给出了实现的方法(API函数)和原理,同时用一个C++Builder中的实例来证明问题。  相似文献   

6.
类C编译器设计初探   总被引:1,自引:0,他引:1  
算法的程序自动化是计算机科学领域中比较热门的问题之一。由于算法的复杂性和抽象性,在算法的实际学习中,许多初学者难以理解和掌握。为了能够更好的学习算法。人们正在追求算法的程序自动化。讨论类C算法向C++源程序变换的相关概念和方法,同时提出一种可以实现类C算法向C+十源程序自动转换的编译器。  相似文献   

7.
本文较详细地介绍了C语言直接对FOXBASE+数据库文件进行访问(如给定关键字求相应的记录号;修改某一记录的某一字段等)的方法,并给出了相应的C语言源程序。  相似文献   

8.
C++不仅是软件设计的主流语言,而且因为其强大的解释力而成为代表软件应用能力的标志性语言。但是,C++的概念庞杂,难以理解,不容易深入,同时,C++新标准的出现使C++和数据结构的学习顺序发生冲突:数据结构的先修课是C++,而C++的新特性中包含数据结构的内容,它们互为前提。我们认为要有效地解决这两个问题,必须把C、C++和数据结构整合。  相似文献   

9.
通常的C/C++预处理器是一个宏处理器,在编译前自动地把源文件转换为编译器可识别的形式。传统的预处理方法基于文本行替换,没有考虑到具体的上下文环境。这种预处理机制在文件包含、宏作用域、头文件关系上存在着一些缺陷,会影响工程项目代码重用,降低程序的可维护性、可扩展性等。通过从分析C预处理器缺陷出发,并利用FOG【1】及其语言可以得到一种基于元变量和元函数的语法替换机制的解决方案。  相似文献   

10.
Visual C++自带的编辑器在编辑源程序时,对于使用习惯了Linux环境下的VIM编辑器的人来说十分不顺畅,针对此问题介绍了开源的GVIM编辑器与Microsoft Windows下Visual C++程序集成开发环境相结合的方法,从而对于源程序编辑更加方便快捷,并且在此基础上介绍了GVIM的一些使用方法。  相似文献   

11.
消除GCC抽象语法树文本中冗余信息的算法研究   总被引:1,自引:0,他引:1  
由GCC编译器对C语言源程序进行语法分析产生的抽象语法树文本存在大量的冗余信息,如果直接对其进行解析,则会产生解析效率低、产生的抽象语法树会占用大量的存储空间的问题.针对此问题,在深入研究(GDC抽象语法树文本结构和解析过程的基础上,提出了一种高效消除冗余的算法,通过实验证明了算法的正确性和适用性,并提出了GCC抽象语法树解析的数学定义.  相似文献   

12.
一种建立控制依赖子图的方法   总被引:1,自引:0,他引:1       下载免费PDF全文
吕蕾  刘弘  李鑫 《计算机工程》2009,35(15):50-52
提出一种基于GCC(GNU Compiler Collection)抽象语法树文本建立控制依赖子图的方法,消除抽象语法树文本中与分析控制流无关的信息,将消除冗余后的抽象语法树文本转化为以邻接表为存储结构的抽象语法树的算法,从而高效地完成了抽象语法树的解析。基于以邻接表为存储结构的抽象语法树建立了控制依赖子图。通过实验证明了该方法的正确性和适用性。  相似文献   

13.
Flash Sheridan 《Software》2007,37(14):1475-1488
A simple technique is presented for testing a C99 compiler, by comparing its output with the output from pre‐existing tools. The advantage to this approach is that new test cases can be added in bulk from existing sources, reducing the need for in‐depth investigation of correctness issues and for creating new test code by hand. This technique was used in testing the PalmSource Palm OS® Cobalt ARM C/C++ cross‐compiler for Palm‐Powered® personal digital assistants, primarily for standards compliance and the correct execution of generated code. The technique described here found several hundred bugs, mostly in our in‐house code, but also in longstanding high‐quality front‐ and back‐end code from Edison Design Group and Apogee Software. It also found 18 bugs in the GNU C compiler, as well as a bug specific to the Apple version of GCC, a bug specific to the Suse version of GCC, and a dozen bugs in versions of GCC for the ARM processor, several of which were critical. Copyright © 2007 John Wiley & Sons, Ltd.  相似文献   

14.
GCC中内嵌函数实现剖析   总被引:2,自引:2,他引:0  
李春江  杜云飞  易会战  杨灿群 《计算机科学》2012,39(106):357-359,379
GNU编译器集合(GCC)具有支持多种高级语言和多种目标处理器平台、文档及源代码开放等的特点,在工业界和学术界被广泛使用。GCC支持非常多的内嵌函数,内嵌函数是GCC编译器中非常重要的一部分实现。首先分析GCC中多种内嵌函数的目的和作用;之后结合实际工作,以使用向量扩展指令的内嵌函数实现为例,剖析了平台相关的内嵌函数的实现过程。本工作对深入理解C}CC编译器中的内嵌函数实现机制,对基于C}CC的研究和开发有较强的参考意义。  相似文献   

15.
The graph exchange language (GXL) is an XML-based standard exchange language for sharing graph data between tools. GXL can be customized to exchange application specific types of graphs. This is done by exchanging both, the instance graph, representing the data itself, and the schema, representing the graph structure. Business process models are usually depicted in a graph-like form. This paper describes a novel application of GXL to the exchange of business process models. It is shown, how to customize GXL to exchange business process models depicted as Event-driven Process Chains and Workflow nets as examples for the control flow part of business process models. Each level of modeling is exemplarily demonstrated from the metaschemas down to instances of graphs.  相似文献   

16.
在分析GCC结构的基础上, 阐述了GCC在C4350AL处理器上的移植与优化方案. 针对C4350AL对GCC的x86后端进行了扩展, 实现了GCC对C4350AL的识别. 根据C4350AL的结构特性, 在GCC中为建立了流水线模型描述, 并基于SPEC2006测试程序对模型效果进行了验证. 实验表明采用该模型使得GCC在C4350AL上获得了性能的提升.  相似文献   

17.
PDL是在CASE中使用非常广泛的一种软件详细设计方法和工具。JS-PDL是集成环境JS-SCAS中基于PDL方法的详细设计工具,是支持交互式,多窗口和菜单驱动的工作方式。它把概要设计阶段产生的结构图和模块说明自动转换成最初的详细设计档,通过对最初详细设计文档的编辑、逐步精化以及部分自动转换,从而生成C语言程序和各种详细设计文档。  相似文献   

18.
GTXL (Graph Transformation Exchange Language) is designed to support and stimulate developers to provide their graph transformation-based tools with an exchange functionality regarding the integration with other tools. For this exchange XML was chosen as underlying technology. The exchange of graphs is facilitated by the exchange format GXL which is also XML-based. GTXL uses GXL to describe the graph parts of a graph transformation system. A first version of GTXL arose from the format discussion within the EU Working Group APPLIGRAPH. Trying to restimulate the discussion on a common exchange format for graph transformation systems, this paper presents a new version of GTXL. Three important changes have been made. At first, an integrated presentation of rules is introduced, secondly the expression of more general conditions is supported and finally the storage of the underlying semantics of a graph transformation system by means of special attributes is proposed.  相似文献   

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

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