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

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

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

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

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

7.
用JavaCC构造编译器的方法   总被引:8,自引:0,他引:8  
介绍了编译器自动生成器的原理,并分析了Sun公司提供的一个编译器自动生成器工具——JavaCC,最后,通过设计一个简单的命令行计算器说明了如何利用JavaCC构造编译器。  相似文献   

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

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

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

11.
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.  相似文献   

12.
13.
    
  相似文献   

14.
随着嵌入式系统的广泛应用;嵌入式系统可靠性成为关注的焦点。针对嵌入式系统源程序的可靠性进行研究;提出了基于编译前端分析自动构件化代码加强方法。该方法结合构件化开发技术;设计了一种多层次迭代分析的编译器前端分析方法;对源代码与可靠构件的相似度进行计算;自动提取出相似度高的函数到可靠构件的映射关系。然后通过人机交互选择最佳的可靠构件进行映射;以最大程度加强代码的可靠性。实验结果表明;该方法能够找出90%以上与漏洞代码相匹配的可靠构件代码;且平均正确率高达94.5%;对加强代码本身的可靠性具有明显效果。  相似文献   

15.
We present a methodology for compiler synthesis based on Mosses-Watt's action semantics. Each action in action semantics notation is assigned specific “analysis functions”, such as a typing function and a binding-time function. When a language is given an action semantics, the typing and binding-time functions for the individual actions compose into typing and binding-time analyses for the language; these are implemented as the type checker and static semantics processor, respectively, in the synthesized compiler. Other analyses can be similarly formalized and implemented. We show a sample language semantics and its synthesized compiler, and we describe the compiler synthesizer that we have developed.  相似文献   

16.
吴彦平  郭贵锁  李锃 《微机发展》2005,15(11):127-130
EQS是由美国加州大学洛杉矶分校(UCLA)心理系教授Peter M.Bentler领导下的小组开发的一个面向应用分析人员的通用数据分析软件.其用户通常并非为计算机专业人士,使用传统语言编写程序过程繁琐,代码冗长,不利于分析人员的日常研究分析工作,尤其是对于一些涉及大量数值计算的工作,故提供一个运算符丰富、语言简洁紧凑、使用方便灵活的开发语言势在必行.文中提出一种满足数据分析系统EQS的用户要求的代数计算语言ACL,并实现了其中的编译器模块.  相似文献   

17.
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.  相似文献   

18.
Difficulties emerging in implementing compilers of several cognate languages within the framework of a unified software system are analyzed. The problem of design of cognate language compilers of efficient structure is formulated. Ways of solution of the problem of effective construction of cognate language compilers and organization of parsing of texts in an arbitrary language are proposed and their advantages are considered.  相似文献   

19.
The VLISP project has produced a rigorously verified compiler from Scheme to byte codes, and a verified interpreter for the resulting byte codes. The official denotational semantics for Scheme provides the main criterion of correctness. The Wand-Clinger technique was used to prove correctness of the primary compiler step. Then a state machine operational semantics is proved to be faithful to the denotational semantics. The remainder of the implementation is verified by a succession of state machine refinement proofs. These include proofs that garbage collection is a sound implementation strategy, and that a particular garbage collection algorithm is correct.The work reported here was carried out as part of The MITRE Corporation's Technology Program, under funding from Rome Laboratory, Electronic Systems Command, United States Air Force, through contract F19628-89-C-0001. Preparation of this paper was generously supported by The MITRE Corporation.  相似文献   

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

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