共查询到20条相似文献,搜索用时 15 毫秒
1.
在编译器的构造中,常由于语义的二义性等问题导致不正确的目标程序.为解决此问题,提出了一种新型的语法及语义正确性验证方案,即建立LR (k)文法和Z规格说明的联系,以此构造LR (k)文法的形式化描述及其形式化验证.实验结果表明,该方案能有效描述并检测LR (k)文法分析器中的语法错误及语义二义性,有助于提高分析器的有效性. 相似文献
2.
LR分析法在词法分析器自动构造中的应用 总被引:7,自引:2,他引:7
提出了一种新的自动构造编译程序词法分析器的方法,LR分析法通常用于语法分析,但只要适当修改LR分析总控程序,就可将LR分析法用于词法分析器的自动构造。该方法的优点不仅在于将词法分析器自动构造方法与语法分析器自动构造方法统一,简化了编译程序的设计和构造,而且该方法自动化程序较高,只要确定描述单词的文法和词形编码表,便可自动生成任何程序设计语言编译程序的词法分析器。 相似文献
3.
SLR(1)词/语法分析的自动构造 总被引:5,自引:0,他引:5
主要讨论了SLR(1)词/语法分析器的自动构造,自动生成的SLR(1)语法分析器可从自动生成的SLR(1)词法分析器中获得测试数据进行语法分析,论文相关的软件除可用于编译原理课程教学演示外,还可用于实际编译程序的SLR(1)词/语法分析器的自动构造。由于具有SLR(1)分析表自动构造功能,因此该软件还可作为软件工具用于程序设计语言本身的设计和构造。 相似文献
4.
5.
阐述了在程序设计语言语法分析器的构造中采用通用LR(generalized LR,简称GLR)分析算法的动机.提出了一个多层次的优化策略,加快了GLR分析器的分析速度.为基本的GLR算法增加了必要的运行时控制机制,以实现语法分析时调用文法规则附带的语义动作,化解输入串的二义性,同时避免GLR分析器可能存在的语义动作延迟问题.优化后的算法已在一个可视化语法分析器自动生成环境VPGE中实现.实验结果表明,在分析确定性的编程语言时,自动生成的GLR分析器的分析速度与自由软件基金会的Bison生成的LALR(1)分析器的分析速度有可比性. 相似文献
6.
ACCENT产生的语法分析器一次只能发现源程序中的一个错误,很不利于实际应用.针对有明确语句结束标记的程序设计语言,提出了一种能查找多个语法错误的实现方法,并在ATLAS语法分析中得到了实际应用和验证,效果良好. 相似文献
7.
董春 《计算机研究与发展》1986,(6)
:本文详细地讨论了正则LR(K)分析表(canonical LR(K)parsing table)与优化LR(K)分析表之间的转换关系,并在这一讨论的基础上提出了构造优化和加速LR(K)语法分析器的一个新算法。同时,文中给出了算法的正确性证明。作为多功能LR语法分析器构造系统——XYZ/PG的主体,本文算法已用PASCAL语言在NORD-500型计算机及DAUL 68000微型计算机上实现。与目前堪称最优的Pager算法相比本文算法通常可得到体积更小的LR(K)语法分析器。 相似文献
8.
一、前言LR分析算法是knuth 1965年首先提出的.LR分析器能自动生成,运行效率高,查错功能强,识别语法类大,可用于大多数由上下文无关文法描述的程序语言.然而,由于一般的LR分析器状态数量极多,需要大量的存储空间,很不实用.为此,人们做了许多努力.以后演变出的SLR、LALR文法都是对LR文法加以某种限制,所识别的文法类是LR文法的一个子集,因此可以比较有效地实现. 相似文献
9.
LR分析技术以其自身的优点在实际当中有着非常广泛的应用,但是,能够识别LR(1)语言的规范LR分析器由于其下推自动机的复杂性,其实用性受到比较大的限制.通过回朔下推自动机的状态迁移路径能够从根本上解决这一问题.主要讨论了基于状态回朔技术的规范型LR分析器的基本原理与构造技术. 相似文献
10.
可视编译器的设计与实现 总被引:1,自引:0,他引:1
通过一个实际的可视编译器开发实例,描述编译器前端的实现方法。这个编译程序除了易于操作的窗口程序外,还包含了标准C语言子集的编译器。这套编译器涵盖了词法分析器、语法分析器、语义分析器、中间代码生成器和简单错误处理器等一整套程序。通过这个实例可以直观地表现词法和语法的构造过程,图文并茂,生动说明编译器中词法器、语法器的功能及其构造过程。 相似文献
11.
12.
董春 《计算机应用与软件》1985,(1)
本文提出了构造优化和加速LR(K)语法分析器的一个新算法。它作为多功能LR语法分析器自动构造系统——XYZ/PG的主体,已用PASCAL语言在NORD-500型计算机上实现。与目前堪称最优的Pager算法相比较,本文算法通常可得到体积更小的LR(K)语法分析器。 相似文献
13.
文法具有二义性是实际中经常遇到的情况。本文以SLR(1)分析器为例介绍了一种为二义性文法构造语法分析器的方法,并通过实例分析了利用该方法进行语法分析的过程。 相似文献
14.
编译器前端自动构造的研究与实现 总被引:2,自引:0,他引:2
编译器是高级语言的工作基础,它本身是一种复杂的程序。文中研究并实现了编译器前端的自动构造技术,能大大提高编译类软件的开发效率。重点讨论了如何合理设置接口,以便综合运用词法、语法分析器的自动构造工具LEX和YACC。提出了预置三级错误陷阱来分别俘获源程序词法、语法、语义错误的思想,能减少错误级联,并能更准确地报告错误的性质。作者已应用该技术编写出一个面向C语言的并行语言编译器前端,验证了该技术是可行的和高效的。 相似文献
15.
编译器是高级语言的工作基础,它本身是一种复杂的程序.文中研究并实现了编译器前端的自动构造技术,能大大提高编译类软件的开发效率.重点讨论了如何合理设置接口,以便综合运用词法、语法分析器的自动构造工具LEX和YACC.提出了预置三级错误陷阱来分别俘获源程序词法、语法、语义错误的思想,能减少错误级联,并能更准确地报告错误的性质.作者已应用该技术编写出一个面向C语言的并行语言编译器前端,验证了该技术是可行的和高效的. 相似文献
16.
以一个典型的四则运算的文法为例,采用倒叙的讲解方法,系统地介绍了使用LR分析表的构造过程和语法分析器的构造方法,简化了鳊译程序的设计和构造。 相似文献
17.
本文提出了自动构造增量式LR(1)句法分析器的一个有效方法.用该方法构造得到的分析器不仅允许对原语句作多处修改,而且还允许奠基的LR(1)文法含有右边为空的产生式。为了分析一个经过修改的语句,它们所需的空间和时间分别与该语句的长度和所作修改的总和形成线性比.为了进行实验,本方法已在Motorola-68010机上获得实现。 相似文献
18.
随着硬件系统复杂性的提高,在更高的抽象层次--系统级进行软硬件协同设计成为一种趋势。SpecC语言是一种用来在系统级对硬件系统进行描述的系统级硬件描述语言。S pecC词法分析器作为SpecC综合器的基础模块,其性能是影响SpecC综合器性能的关键因素之一,而SpecC综合器是实现系统级设计综合自动化必不可少的硬件系统开发工具。本文在Linux环境下用C设计并实现了SpecC语言的一个词法分析器SpecCLexer。它能正确地对用户输入的SpecC源代码进行预处理和词法分析,并在源代码中出现词法错误时给给用户反馈错误信息。 相似文献
19.
LR(k)是很重要的一类文法,但是用正规方法构成的分析算法,需要过多的状态和很大的存储空间,因此它不适合于实际应用。后来虽然提出了SLR(k)和LALR(k)文法,但是它们都只是LR(k)文法较小的子集。本文给出了状态图和状态链的概念,并且定义了BCLR(k)文法。它是LR(k)文法较大的子集,并且包含了作为它的真子集的LALR(k)和SLR(k)文法。可是它所需的状态数却与SLR(k)文法一样多。在本文的最后,我们对算法作了某些改动,使之能分析一般的LR(k)文法。 相似文献
20.
针对目前藏文文本自动查错方法的不足,该文提出了一种基于规则和统计相结合的自动查错方法.首先以藏文拼写文法为基础,结合形式语言与自动机理论,构造37种确定型有限自动机识别现代藏文字;然后利用查找字典的方法识别梵音藏文字;最后利用互信息和t-测试差等统计方法查找藏语词语搭配错误和语法错误等真字词错误,实现藏文文本的自动查错... 相似文献