首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 0 毫秒
1.
This paper deals with design considerations and implementation of a program structuring preprocessor for a macro assembly language. The macro assembly language is used for writing the code generation pass of a compiler. Macro instructions become lengthy, tedious and cumbersome when they incorporate some mild code improvement. This is chiefly because the macro assembly language lacks an adequate program structuring facility. Program structuring is a great help in improving ease of programming and the under-standability of the expansion control statements of a macro instruction in such a kind of programming. Considerations on the design of the source language and the outline of implementation are described. The design objective is ease of implementation and ease of use, and is fairly well satisfied by the language.  相似文献   

2.
给出了一种应用于分析C 程序的类切片算法。对于一个给定的C 程序及其继承关系,应用此算法可以除去与程序执行无关的数据成员、成员函数、类及继承关系,从而对大而复杂的面向对象软件的调试、测试、分析、理解和修改过程提供了一种切实可行的方法。  相似文献   

3.
4.
This paper presents a theory of dynamic slicing, which reveals that the relationship between static and dynamic slicing is more subtle than previously thought. The definitions of dynamic slicing are formulated in terms of the projection theory of slicing. This shows that existing forms of dynamic slicing contain three orthogonal dimensions in their slicing criteria and allows for a lattice-theoretic study of the subsumption relationship between these dimensions and their relationship to static slicing formulations.  相似文献   

5.
Programmers spend considerable time debugging code. Symbolic debuggers provide some help but the task remains complex and difficult. Other than breakpoints and tracing, these tools provide little high-level help. Programmers must perform many tasks manually that the tools could perform automatically, such as finding which statements in the program affect the value of an output variable for a given test case, and what was the value of a given variable when the control last reached a given program location. If debugging tools provided explicit support for these tasks, the debugging process could be automated to a significant extent. In this paper we present a debugging model, based on dynamic program slicing and execution backtracking techniques, that easily lends itself to automation. This model is based on experience with using these techniques to debug software. We also present a prototype debugging tool, SPYDER, that explicitly supports the proposed model, and with which we are performing further debugging research.  相似文献   

6.
J. M. Triance  J. F. S. Yow 《Software》1980,10(10):791-800
A COBOL preprocessor to implement Michael Jackson's program design language, Schematic Logic, has been written and used in the Computation Department at UMIST. This paper investigates the problems inherent in using preprocessors of this type and details the advantages which accrue from the preprocessor when teaching and using the Jackson Method.  相似文献   

7.
该文介绍了一种C++程序的分层切片方法。通过构造系统程序层依赖图、类层依赖图、方法层依赖图和语句层依赖图,对C++程序进行分层切片,有效地表示了C++中的单重继承、多重继承、多态和动态绑定,该方法比其它C++切片技术更清晰地描述了C++程序中类之间的各种关系和消息传递机制。  相似文献   

8.
刘亚龙  王生楠 《计算机工程与设计》2006,27(17):3280-3281,3290
MSC/PATRAN是著名的有限元分析软件,广泛应用于航空、航天、汽车、造船、国防等各大领域,它为用户提供了二次开发的PCL语言。对用MSC/PATRAN的PCL语言进行二次开发的过程和如何运用c++Builder语言编写程序实现对MSC/PATRAN的控制作了实例说明,本实例具有普遍性,用户可参照本实例开发自己的应用程序。  相似文献   

9.
The paper describes a study that explored the relationship of program slicing to (1) code understanding gained while debugging, and to (2) a debugger's ability to localize the program fault area. The study included two experiments. The first experiment compared the program understanding abilities of two classes of debuggers: those who slice while debugging and those who do not. For debugging purposes, a slice can be thought of as a minimal subprogram of the original code that contains the program faults. Those who only examine statements within a slice for correctness are considered slicers; all others are considered non-slicers. Using accuracy of subprogram construction as a measure of understanding, it was determined that slicers have a better understanding of the code after debugging. The second experiment compared debugger fault localization abilities before and after a training session on how to use slicing in debugging. Using time as a measure of ability, it was shown that slicing while debugging improves a debugger's ability to localize the program fault area.  相似文献   

10.
A non-standard semantics for program slicing and dependence analysis   总被引:1,自引:0,他引:1  
We introduce a new non-strict semantics for a simple while language. We demonstrate that this semantics allows us to give a denotational definition of variable dependence and neededness, which is consistent with program slicing. Unlike other semantics used in variable dependence, our semantics is substitutive. We prove that our semantics is preserved by traditional slicing algorithms.  相似文献   

11.
吴楷  万旺根  楼顺天 《计算机应用》2006,26(2):510-0511
经过分析和验证,以八叉树碰撞节点生成为例,采用文件一次性记录划分结果,并在渲染时从文件读取,有效的缩短了生成八叉树的时间。此项设计也是游戏引擎中的一个功能模块。  相似文献   

12.
13.
Matlab与VisualC++混合编程的实现   总被引:1,自引:0,他引:1  
蒋礼  徐义贤 《微机发展》2003,13(9):81-85
从不同角度分析和研究了VisualC 与工程计算语言Matlab的接口技术。为工程设计人员提供了比较全面的VisualC 与Matlab的混合编程方法,并给出了各种方法的优缺点。通过二者的结合,既有效地利用了Matlab强大的数值计算能力和众多的函数,大大减少程序设计的工作量,又继承了VisualC 良好的程序界面,证明是一种很好的程序设计方法。  相似文献   

14.
本文以实例程序及其在3种不同编译器上的不同运行结果,表明C/C 运算求值顺序存在缺陷。并利用3种命令行编译器生成实例程序对应的汇编语言程序,深入分析了各编译器在运算求值顺序实现中的具体差异,这对准确、高效地运用C/C 是有益的。  相似文献   

15.
Matlab与C/C++混合编程技术研究   总被引:5,自引:0,他引:5  
Matlab具有强大的数值计算和分析等能力,而C/C++是目前最为流行的高级程序设计语言,两者互补结合的混合编程在科学研究和工程实践中具有非常重要的意义.因此,从Matlab调用C/C++代码及C/C++调用m文件两方面,深入地研究了它们之问混合编程的原理和实现机制,并且给出了具体条件下的混合编程方法和步骤.实例表明,提出的Matlab与C/C++混合编程方法是简洁、有效的.  相似文献   

16.
We present a design, including its motivation, for introducing concurrency into C++. The design work is based on a set of requirements and elementary execution properties that generate a corresponding set of programming language constructs needed to express concurrency. The new constructs continue to support object-oriented facilities such as inheritance and code reuse. Features that allow flexibility in accepting and subsequently postponing servicing of requests are provided. Currently, a major portion of the design is implemented, supporting concurrent programs on shared-memory uniprocessor and mulitprocessor computers.  相似文献   

17.
Tcl/Tk命令与C/C++的集成研究   总被引:2,自引:0,他引:2  
针对Tcl/Tk脚本中需要调用C/C++函数的问题,简要说明了Tcl/Tk命令的运行机理,给出了一个使用Tcl/Tk命令来调用C/C++动态链接库(DLL)函数的方案,并给出了将C/C++DLL函数封装为Tcl/TkC库函数的解决方法。  相似文献   

18.
首先介绍了Visual C++和Matlab的发展情况,然后介绍了Visual C++和Matlab联合编程的两种方法,并着重介绍了软件开发过程的关键步骤,最后对其效果进行总结.  相似文献   

19.
Matlab具有很强的数值计算和分析等能力,而C/C++是目前最为流行的高级程序设计语言,两者互补结合的混合编程在科学研究和工程实践中具有非常重要的意义。从Matlab调用C/C++代码及C/C++调用m文件两方面,深入地研究了它们之间混合编程的原理和实现机制,并且给出了具体条件下的混合编程方法和步骤。实验表明,给出的Matlab与C/C++混合编程接口及应用方法是有效、实用的。  相似文献   

20.
Static slicing has shown itself to be a valuable tool, facilitating the verification of hardware designs. In this paper, we present a sharpened notion, antecedent conditioned slicing that provides a more effective abstraction for reducing the size of the state space. In antecedent conditioned slicing, extra information from the antecedent is used to permit greater pruning of the state space. In a previous version of this paper, we applied antecedent conditioned slicing to safety properties of the form G(antecedentconsequent) where antecedent and consequent were written in propositional logic. In this paper, we use antecedent conditioned slicing to handle safety and bounded liveness property specifications written in linear time temporal logic. We present a theoretical justification of our technique. We provide experimental results on a Verilog RTL implementation of the USB 2.0 functional core, which is a large design with about 1,100 state elements (10331 states). The results demonstrate that the technique provides significant performance benefits over static program slicing using state-of-the-art model checkers.  相似文献   

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

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