|
软件学报 2005
程序设计语言的glr优化分析, PP. 174-183 Keywords: lr分析,通用lr分析,二义性化解,语义动作,分析森林 Abstract: 阐述了在程序设计语言语法分析器的构造中采用通用lr(generalizedlr,简称glr)分析算法的动机.提出了一个多层次的优化策略,加快了glr分析器的分析速度.为基本的glr算法增加了必要的运行时控制机制,以实现语法分析时调用文法规则附带的语义动作,化解输入串的二义性,同时避免glr分析器可能存在的语义动作延迟问题.优化后的算法已在一个可视化语法分析器自动生成环境vpge中实现.实验结果表明,在分析确定性的编程语言时,自动生成的glr分析器的分析速度与自由软件基金会的bison生成的lalr(1)分析器的分析速度有可比性.
|