Fork me on GitHub
摘要: 上一篇文章已经对LR分析法做了比较详细的介绍,本篇将主要介绍LR(1)分析表的构造过程:完整的项目请参考:https://github.com/luofei2011/jslr1首先有一些基本概念.LR(1)项目 就是对于一个上下文无关文法G=(V,T,P,S),若存在规范推导:S=>...=>δAω=>δαβω,则称[A->α.β,a]对活前缀γ=δα是有效的.其中α,β,δ是属于V&T并集闭包的元素.a是终结符T.且a是ω的首字符,若ω=ε,则a=#.[A->α.β,a]称为文法G的LR(1)项目,a称为搜索符.例如:如下文法T->xyz具体的LR 阅读全文
posted @ 2013-04-13 23:23 Poised_flw 阅读(1564) 评论(0) 推荐(0) 编辑
摘要: 完整的项目请参考:https://github.com/luofei2011/jslr1LR(k)分析法(LR(k) parsing):是一个有效的自底向上分析技术,它适用于一大类上下文无关文法的语法分析.其中:L指的是从左向右扫描输入字符串,R指的是构造最右推导的逆过程,k指的是决定分析动作时需要向前看的符号个数.LR分析法有如下优点: 1.LR分析器能识别所有可用上下文无关文法描述的程序设计语言的结构. 2.LR分析法是已知的最一般的无回溯移进-归约分析法,而且可以和其他移进-归约分析法一样有效地实现. 3.LR分析法分析的文法包含预测分析法所能分析的文法类. 4.在自左向右扫描输... 阅读全文
posted @ 2013-04-13 22:17 Poised_flw 阅读(2561) 评论(0) 推荐(0) 编辑