编译原理总结7_语法4.ppt

* 什么是LR(k)分析:  L:从左到右扫描  R:最右推导的逆过程(最左归约) k:为作出分析决定而向前看的输入符号的个数 是一种规范归约过程 LR(k)分析技术Knuth于1965年首先提出 4.7 LR分析法 * 适用范围广,适用于多数无二义性2型文法 分析效率高,报错及时 可以自动生成 手工实现工作量大 LR分析法的优缺点 优点 缺点 4.7 LR分析法 * LR分析器的逻辑结构:分析栈、分析表、总控程序 LR分析器的逻辑结构和工作过程 栈 # S0 X1 S1 … … Xm S1 文法符号 状态 输入# 总控程序 ACTION GOTO LR分析表 产生式表 输出 4.7 LR分析法 * 分析表的种类:四类 SLR(1)分析表(简单LR分析表) LR(0)分析表 构造简单,最易实现,大多数上下文无关文法都可以 构造出SLR分析表,所以具有较高的实用价值。使 用SLR分析表进行语法分析的分析器叫SLR分析器。 对文法的限制较大,无实用价值, 是构造其它LR分析表的基础。 (重点掌握) 4.7 LR分析法 * LR(1)分析表(规范LR分析表) 适用文法类最大,几乎所有上下文无关文法 都能构造出LR(1)分析表,但其分析表体积 太大,实用价值不大。 LALR分析表(超前LR分析表) 这种表适用的文法类及其实现上难易在LR(1) 和SL

文档评论(0)

1亿VIP精品文档

相关文档