首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 15 毫秒
1.
LR分析法在词法分析器自动构造中的应用   总被引:9,自引:2,他引:7  
温敬和 《计算机工程》2001,27(7):188-190
提出了一种新的自动构造编译程序词法分析器的方法,LR分析法通常用于语法分析,但只要适当修改LR分析总控程序,就可将LR分析法用于词法分析器的自动构造。该方法的优点不仅在于将词法分析器自动构造方法与语法分析器自动构造方法统一,简化了编译程序的设计和构造,而且该方法自动化程序较高,只要确定描述单词的文法和词形编码表,便可自动生成任何程序设计语言编译程序的词法分析器。  相似文献   

2.
本文提出了构造优化和加速LR(K)语法分析器的一个新算法。它作为多功能LR语法分析器自动构造系统——XYZ/PG的主体,已用PASCAL语言在NORD-500型计算机上实现。与目前堪称最优的Pager算法相比较,本文算法通常可得到体积更小的LR(K)语法分析器。  相似文献   

3.
在编译器的构造中,常由于语义的二义性等问题导致不正确的目标程序.为解决此问题,提出了一种新型的语法及语义正确性验证方案,即建立LR (k)文法和Z规格说明的联系,以此构造LR (k)文法的形式化描述及其形式化验证.实验结果表明,该方案能有效描述并检测LR (k)文法分析器中的语法错误及语义二义性,有助于提高分析器的有效性.  相似文献   

4.
:本文详细地讨论了正则LR(K)分析表(canonical LR(K)parsing table)与优化LR(K)分析表之间的转换关系,并在这一讨论的基础上提出了构造优化和加速LR(K)语法分析器的一个新算法。同时,文中给出了算法的正确性证明。作为多功能LR语法分析器构造系统——XYZ/PG的主体,本文算法已用PASCAL语言在NORD-500型计算机及DAUL 68000微型计算机上实现。与目前堪称最优的Pager算法相比本文算法通常可得到体积更小的LR(K)语法分析器。  相似文献   

5.
LALR(1)分析程序生成系统在编译器构造领域以外被许多普通软件开发者学习和使用.为帮助用户理解LALR(1)分析器方法,编写出正确、完整、无语法分析冲突的文法规范,严格定义了使用LALR(1)分析器生成器时用户可能遇到的几类文法问题,描述一个为帮助用户解决这些问题而开发的LALR(1)分析器可视化和断点调试系统VPGE.VPGE以多种视图显示LALR(1)分析器的数据结构,包括状态栈、符号栈、输入符号串、分析树和底层的自动机,支持LR分析动作的单步执行和断点调试.性能实验结果表明,VPGE比GNU的Bison有更快的分析器生成速度,从而提供了一个LALR(1)文法及分析器的快速交互式调试环境.  相似文献   

6.
提出了一个可使用标号和变量的汇编程序自动构造方法,基本解决了宏汇编器自动构造的难点.构造方法分为词法分析、语法/语义分析和连接3个阶段.词法分析器将源程序译成单词二元式,建立符号表,包括变量的内存分配.符号表除记录标识符外,还用于记录标号的引用点;语法/语义分析器按一对一的方式将单词二元式译成待定位的机器码,使用了LR分析法制导的翻译技术;在连接阶段对机器码进行最后定位,实现转移语句一对多的翻译.该方法可用于计算机系统汇编程序的自动构造.  相似文献   

7.
程序设计语言的GLR优化分析   总被引:1,自引:0,他引:1       下载免费PDF全文
李虎  金茂忠  许福  张敏 《软件学报》2005,16(2):174-183
阐述了在程序设计语言语法分析器的构造中采用通用LR(generalized LR,简称GLR)分析算法的动机.提出了一个多层次的优化策略,加快了GLR分析器的分析速度.为基本的GLR算法增加了必要的运行时控制机制,以实现语法分析时调用文法规则附带的语义动作,化解输入串的二义性,同时避免GLR分析器可能存在的语义动作延迟问题.优化后的算法已在一个可视化语法分析器自动生成环境VPGE中实现.实验结果表明,在分析确定性的编程语言时,自动生成的GLR分析器的分析速度与自由软件基金会的Bison生成的LALR(1)分析器的分析速度有可比性.  相似文献   

8.
LR分析技术以其自身的优点在实际当中有着非常广泛的应用,但是,能够识别LR(1)语言的规范LR分析器由于其下推自动机的复杂性,其实用性受到比较大的限制.通过回朔下推自动机的状态迁移路径能够从根本上解决这一问题.主要讨论了基于状态回朔技术的规范型LR分析器的基本原理与构造技术.  相似文献   

9.
LR(k)文法能描述所有确定型上下文无关语言,广泛应用于各类分析器生成器中.传统的LR(k)文法断点调试方法仅支持在产生式右部末尾设置断点(后文简称尾部断点),不支持在产生式右部中间位置设置断点(后文简称中间断点),这给分析器的开发和调试带来了不便.文中提出了一种新颖的LR(k)文法断点调试方法,不但支持传统的尾部断点,还支持中间断点.该方法可显著增加可利用的断点数量,可以跟踪到更细粒度的文法成分,从而帮助用户更好地进行文法调试,降低分析器的开发难度.  相似文献   

10.
本文描述一个自动构造LR(1)文法的语法分析程序生成器PG系统(ParserGenerator)及其初步实现。该系统采用分解合并状态方法构造的LR(1)语法分析程序具有规范LR(1)语法分析程序的功能,而产生的分析表空间远远小于规范LR(1)分析表的空间,等于或稍大于LALR(1)分析表的空间。该系统可作为语言开发工具系统的子系统,以产生具有LR(1)文法语言的语法分析程序,也可扩充成独立的系统用于其它目的。  相似文献   

11.
张惠艳 《福建电脑》2010,26(1):205-206
以一个典型的四则运算的文法为例,采用倒叙的讲解方法,系统地介绍了使用LR分析表的构造过程和语法分析器的构造方法,简化了鳊译程序的设计和构造。  相似文献   

12.
引言 LR分析方法是近二十年来发展很快的一种形式化的语法分析方法。它具有能识别的文法类大,能被自动生成时空效率都较高的分析器及能在最早可能点报错等优点。SLR分析方法是LR分析方法中一种实用的方法。本文结合我们所实现的PASCAL语言的SLR分析器及它的错误修正程序讨论SLR分析器的构造、实现及语法错误修正问题。第一、二节中讨论SLR分析器的构造原理,并结合实践,对分析表实际存储空间的压缩,总控程序的实现和分析器的一些特性等方面进行讨论。第三节中将着重讨论SLR分析器的语法错误修正问题。这里给出了一个错误修正的算  相似文献   

13.
一个有效的LR(K)分析机的分级构造算法及其文法的分划   总被引:1,自引:0,他引:1  
本文提出了一个上下文无关文法的LR(K)分析机的分级构造算法及其文法的分划方法,并对K=1的情况进行了详细的讨论。该方法不仅适用于任何实际LR(K)文法,并且较之文献中方法更加有效。文中对算法的正确性进行了证明,并指出由本文建立的相容性标准是所有合并同心状态的相容性标准中条件最宽的一个。使用本文算法构造出的LR(K)分析机中的状态个数与LALR(K)分析机中的状态个数相同或略多。  相似文献   

14.
一、前言LR分析算法是knuth 1965年首先提出的.LR分析器能自动生成,运行效率高,查错功能强,识别语法类大,可用于大多数由上下文无关文法描述的程序语言.然而,由于一般的LR分析器状态数量极多,需要大量的存储空间,很不实用.为此,人们做了许多努力.以后演变出的SLR、LALR文法都是对LR文法加以某种限制,所识别的文法类是LR文法的一个子集,因此可以比较有效地实现.  相似文献   

15.
基于神经网络语法分析   总被引:2,自引:0,他引:2  
文章提出了基于神经网络理论适用于LR文法的语法分析,与传统LR分析器相比,神经网络LR分析器具有较高的性能。  相似文献   

16.
基于ALEX的ATLAS词法分析器设计与实现   总被引:1,自引:0,他引:1  
针对IEEE Std ATLAS 716标准,利用基于Windows操作平台的集成开发工具Parser Generator,设计并实现了ATLAS词法分析器,分析了该词法分析器进行ATLAs词法分析的过程.实践证明,利用该方法编写词法分析器简单易行,且构造的词法分析器准确性高,易于扩展.  相似文献   

17.
VPGE(VisualParserGenerationEnvironment)是一个可视化语法分析器集成开发环境,除了具有良好的界面和强大的调试功能,其LALR(1)分析器的生成速度达到并超过公认的分析器生成速度最快的LALR(1)分析器自动生成器Bison,所能处理的文法规模也优于Bison.本文在DeRemer和Pen-nello的LALR(1)分析器自动生成基本原理的基础上,在设计数据结构和算法实现中采用了大量优化技术.  相似文献   

18.
VPGE(Visual Parser Generation Environment)是一个可视化语法分析器集成开发环境,除了具有良好的界面和强大的调试功能,其LALR(1)分析器的生成速度达到并超过公认的分析器生成速度最快的LALR(1)分析器自动生成器Bison,所能处理的文法规模也优于Bison.本文在DeRemer和Pennello的LALR(1)分析器自动生成基本原理的基础上,在设计数据结构和算法实现中采用了大量优化技术.  相似文献   

19.
为了满足测试覆盖分析和软件调试等程序分析技术对插桩技术的需求,提出了插桩模型,开发了一款实用的插桩工具。基于双缓冲技术,构建词法分析器和语法分析器。在语法分析归约时同步收集插桩信息,然后根据插桩策略执行插桩,生成目标文件。得到的程序运行时信息被应用于影响广泛的四种软件自动调试分析方法。对于这四种方法。缺陷语句均被准确识别为最可疑语句。应用结果表明,该方法能够为准确高效的程序分析提供必要的运行时信息。  相似文献   

20.
RNA二级结构预测问题是生物信息学的一个研究重点。该文主要利用自然语言理解中旬法分析的方法来研究RNA二级结构预测。使用基于角色反演算法建立起来的,采用概率上下文无关文法进行分析的句法分析器,来预测RNA二级结构。结合传统Chart算法分析器和广义LR算法分析器的优点,建立角色反演句法分析器;根据RNA二级结构的构建方法建立相应的概率上下文无关文法;给出对RNA二级结构进行预测的具体实例。  相似文献   

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

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