首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 51 毫秒
1.
面向嵌入式系统的优化编译器生成器设计   总被引:4,自引:0,他引:4  
构造嵌入式系统是一个硬件软件的协同设计问题 .嵌入式软件的有效开发需要相应编译器的支持 .由于嵌入式系统存储空间有限 ,所以编译器生成的机器代码必须非常紧凑 .我们可以使用编译器的生成器来提高编译器的开发效率 .本文给出了一种编译器生成器的设计原理 ,利用该编译器生成器可以迅速生成面向某种指令系统和机器特征 ,并且能够对输出代码进行自动紧凑的编译器  相似文献   

2.
3.
面向嵌入式系统的优化编译器生成器设计   总被引:3,自引:0,他引:3  
给出了一种编译器生成器的设计原理,利用编译器生成器可以迅速生成面向某种指令系统和机器特征,并且能够对输出代码进行自动紧凑的编译器。  相似文献   

4.
SQL是一种结构化查询语言,它是当今的标准数据库语言,所有主要的数据库系统都使用它。文中主要讲解了基于Linux系统的SQL语言编译器语义分析方法。  相似文献   

5.
编译器前端自动构造的研究与实现   总被引:2,自引:0,他引:2  
王馨梅  王冬芳 《微机发展》2004,14(4):82-83,88
编译器是高级语言的工作基础,它本身是一种复杂的程序。文中研究并实现了编译器前端的自动构造技术,能大大提高编译类软件的开发效率。重点讨论了如何合理设置接口,以便综合运用词法、语法分析器的自动构造工具LEX和YACC。提出了预置三级错误陷阱来分别俘获源程序词法、语法、语义错误的思想,能减少错误级联,并能更准确地报告错误的性质。作者已应用该技术编写出一个面向C语言的并行语言编译器前端,验证了该技术是可行的和高效的。  相似文献   

6.
编译器前端乘幂运算的实现与优化   总被引:1,自引:0,他引:1  
乘幂运算是最基本的数学表达式之一,并且被大多数编译器支持,在高性能计算和密码算法中应用十分频繁。为了实现和优化乘幂运算人们提出了许多算法,比如加法链算法。该文描述了在编译器前端一个具体的新的算法,它实现了乘幂运算并且进行了优化,优化方法结合了静态最优加法链算法和Window算法。这个新的算法已经应用于GNUFortran95编译器(Gfortran),并取得良好效果。  相似文献   

7.
用词/语法分析器生成器实现软件系统的输入   总被引:3,自引:1,他引:2  
以软件系统输入模块的构造为例,提出了词/语法分析器生成器的一种非编译器构造的应用,阐述了用词/语法分析器生成器实现数据输入的优点,讨论了从数据的形式描述到数据输入的过程与设计原则,并通过实例强调了该方法的核心思想。  相似文献   

8.
编译器是高级语言的工作基础,它本身是一种复杂的程序.文中研究并实现了编译器前端的自动构造技术,能大大提高编译类软件的开发效率.重点讨论了如何合理设置接口,以便综合运用词法、语法分析器的自动构造工具LEX和YACC.提出了预置三级错误陷阱来分别俘获源程序词法、语法、语义错误的思想,能减少错误级联,并能更准确地报告错误的性质.作者已应用该技术编写出一个面向C语言的并行语言编译器前端,验证了该技术是可行的和高效的.  相似文献   

9.
为实现基于TTCN-3的协议一致性测试系统,提出一种通过编译方式将TTCN-3语言转换为C++语言的编译器方案。通过对TTCN-3核心语言的研究分析,运用正则语言解析方法实现词法分析模块;在词法分析输出基础上编写上下文无关文法规则,使用多种方法较为彻底地解决语法冲突问题,实现语法分析模块;实现将TTCN-3语言转换为C++语言的编译器前端模块。该方案可快速实现对TTCN-3源代码的词法分析和语法分析,输出单词符号序列并检查其是否符合预定义的语法规则,对错误进行定位、报错并输出编译结果。  相似文献   

10.
一个面向对象的Java程序生成器   总被引:1,自引:0,他引:1  
JPG是作者设计的一个Java应用程序生成器.它包括一个面向对象的非过程化语言OO-ADL及其编译器和一个可视化的界面生成器UIG。OO-ADL允许用户以语言的方式定义用户需求,然后通过OO-ADL编译器将该需求编译为Java代码、UIG以可视化的操作方式帮助用户生成用户界面的Java代码。文中介绍了JPG的基本思想、结构,OO-ADL语言的语法定义,OO-ADL编译器和UIG的Java代码生成技术。  相似文献   

11.
12.
Justin O. Graver 《Software》1992,22(7):519-535
Increasing code reuse in software systems is an important way to decrease development and maintenance costs, reduce the time required to respond to new requirements, and significantly advance the feasible complexity limits for new systems. Object-oriented programming languages and environments provide fundamental support for truly reusable code through abstraction, inheritance, and polymorphism. Reusable code is a prerequisite for a significantly more powerful concept: reusable design. Frameworks of resuable design abstractions are difficult to create and typically evolve over a long period of use and refinement. Thus, it is important to understand how systems evolve and how this evolution can be directed to achieve the best results. This article illustrates some of the standard transformations, called refactorings, that occur in object-oriented systems as they evolve by describing the creation and evolution of a framework for building general-purpose string-to-object translators. It reflects our experiences with object-oriented compilers over a five year period while working on the Typed Smalltalk compiler project.  相似文献   

13.
Since a compiler phase depends on previous phases for input, it can be difficult to do timely independent unit testing of some phases. This can make integration more difficult and reduce overall quality. A test case generator has been used to circumvent this problem by providing an independent source of phase test inputs. Using a context-free grammar augmented with contextsensitive constructs, a test case generator can generate intermediate language graphs in textual form.  相似文献   

14.
出具证明编译器是随着人们对现今的软件提出更高的可靠性和安全性要求而产生的工具,它结合了以往程序设计和程序安全性证明的技术。论文介绍了一个出具证明编译器原型系统的实现。  相似文献   

15.
An automatic vectorizing compiler called V-Pascal is described in detail. The compiler has been designed and implemented with a view to vectorizing Pascal source programs. Using the mechanism of vector indirect addressing, it reduces multiply nestedfor loops to equivalent single loops, which are then executed by vector mode with sufficiently long vector lengths. TheD matrix, which is an adjacency matrix giving dependences between intermediate code nodes, plays an important role in the V-Pascal compiler. It is demonstrated that, in some cases, the V-Pascal compiler yields object code that runs faster than the Fortran counterpart. This paper mainly presents the basic constituents of the Version 1 of the V-Pascal compiler. Version 2 includes higher functions such as vectorization ofwhile-do loops and recursive procedures, vectorization of character string manipulations and relational database operations (written in Pascal), and automatic parallel decomposition for multiprocessor environments.  相似文献   

16.
A large number of scanner generators have been developed. Since they are restricted to the longest-match rule, they are unsuitable for an incremental environment. We present the ALADIN system, which is able to deliver more than a single token if required. Thus, an ambiguity may be passed to the calling instance. Beyond this ‘incremental feature’, ALADIN is a well-structured and easy-to-understand language. In contrast to existing systems, the desired behaviour of the generated scanners is completely specified explicitly. Thus, the specifications are more abstract than in other systems. A prototype implementation has shown that ALADIN-generated scanners have about the same performance as those generated by Lex.  相似文献   

17.
We study abstract interpretations of a fixpoint protoderivation semantics defining the maximal derivations of a transitional semantics of context-free grammars akin to pushdown automata. The result is a hierarchy of bottom-up or top-down semantics refining the classical equational and derivational language semantics and including Knuth grammar problems, classical grammar flow analysis algorithms and parsing algorithms.  相似文献   

18.
We describe the specification, implementation and proof of correctness of a code generator for a subset of Gypsy 2.05. The code generator is specified in the Boyer-Moore logic; its proof is fully machine-checked using the Kaufmann-enhanced Boyer-Moore theorem prover. Our code generator sits atop a stack of verified system components providing a prototype development environment for constructing highly reliable application Programs.  相似文献   

19.
Early Java implementations relied on interpretation,leading to poor performance compared to compiled programs,Java just-in-time(JIT) compiler can compile Java programs at runtime,so it not only improves Java‘s performance prominently,but also preserves Java‘s portability.In this paper the design and implementing techniques of Java JIT complier based on Chinese open system are discussed in detail.To enhance the portability,a translating method which combines the static simulating method and macro expansion method is adopted.The optimization technique for JIT compiler is also discussed and a way to evaluate the hotspots in Java programs is presented.Experiments have been conducted to verify JIT compilation technique as an efficient way to accelerate Java.  相似文献   

20.
赵桂范  王立辉  闫晓晓 《计算机仿真》2007,24(10):236-239,260
某重型车在行驶时常出现前轮摆振现象,为此对前梁进行了建模和仿真分析.首先使用Pro/E建立前梁模型;接着使用Pro/M对其进行静态分析,分析了车辆直线行驶和转弯行驶时前梁的变形情况,并对前梁进行了模态分析,得到其前8阶固有频率和振型,通过振型分析了前梁的动态性能;最后使用SIMULINK模块仿真分析了前梁在B级路面上速度为50km/h时由路面不平度引起的随机振动.结果表明:满载行驶时,前梁在路面不平度的激励下产生的垂直位移满足行业标准,固有频率远离路面不平度激励下的频率,不会产生共振而导致摆振.但是转弯时前梁主销偏移距过大易引起前轮摆振,应适当减小其内倾角角度来避免转弯时摆振的发生.  相似文献   

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

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