第5章语法分析——自底向上.ppt

第5章语法分析——自底向上

定义5.16 按照LALR(1)的项目集规范族构造的文法G的LALR (1)分析表,如果每个入口不含多重定义,则称它为G的LALR(1)分析表。 具有LALR(1)分析表的文法G称为LALR(1)文法。 使用LALR(1) 分析表的语法分析器称作LALR(1)分析器。 CompilerPrinciples * 判断G是LR四类文法的哪一类 CompilerPrinciples * 例5.18 设有下列文法 S→Aa| bAc| Bc|bBa A→d B→d 判断该文法是哪类LR文法? CompilerPrinciples * LR(0)?SLR(1)?LR(1)?LALR(1)? CompilerPrinciples * I0 S→?S S→?Aa| ?bAc| ?Bc| ?bBa A→?d B→?d A→d ? B→d ? I1 d 归约—归约 冲突 G为非LR(0) 用SLR(1)方法 FOLLOW(A) = {a,c} FOLLOW(B) = {a,c}∩≠? G为非SLR(1) 构造LR(1)的C S →?S, # S→?Aa| ?bAc| ?Bc| ?bBa, # A→?d , c B→?d , a CompilerPrinciples * A→d ?,a B→d ?,c d S→b?Ac | b ?Ba,# A→?d ,c B→?d ,a

文档评论(0)

1亿VIP精品文档

相关文档