LR 分析法是一种非常有效的自下而上语法分析方法而且是规范归约分析法它可用于很大一类上下文无关文法的语法分析对文法的限制少效率高出错定位精确LR 分析的一个主要缺点是对于一个语言的文法构造LR分析器的工作量相当大具体实现时较困难?abbcde【例】文法G[S]对输入串 abbcde 进行语法分析检查该符号串是否是该文法的正确句子(1)bcde(6)e在步骤2中用A→b归约在步骤4中用A→Ab归约问
#
1编译原理第五章 语法分析自下而上分析2第五章 语法分析自下而上分析自下而上分析的基本问题算符优先分析算法LR分析法3第五章 语法分析自下而上分析自下而上分析的基本问题算符优先分析算法LR分析法LR(0)项目集规范族和LR(0)分析表的构造SLR分析表的构造4LR(0)分析表的构造假若一个文法G的拓广文法G?的活前缀识别自动机中的每个状态(项目集)不存在下述情况: 1) 既含移进项目又含归约项目,
1编译原理第五章 语法分析自下而上分析2第五章 语法分析自下而上分析自下而上分析的基本问题算符优先分析算法LR分析法3第五章 语法分析自下而上分析自下而上分析的基本问题算符优先分析算法LR分析法LR(0)项目集规范族LR(0)分析表的构造SLR分析表的构造LR(1)分析表的构造4SLR冲突消解存在的问题计算FOLLOW集合所得到的超前符号集合可能大于实际能出现的超前符号集。非SLR文法示例:(0)
1编译原理第五章 语法分析自下而上分析2第五章 语法分析自下而上分析自下而上分析的基本问题算符优先分析算法LR分析法3第五章 语法分析自下而上分析自下而上分析的基本问题算符优先分析算法LR分析法LR分析器的工作原理LR(0)项目集规范族的构造4532LR(0)项目集族和LR(0)分析表的构造假定?是文法G的一个句子,我们称序列 ?n, ?n-1,? ,?0 是的一个规范归约,如果此序列满足:1?n
1编译原理第五章 语法分析自下而上分析2第五章 语法分析自下而上分析自下而上分析的基本问题算符优先分析算法LR分析法3第五章 语法分析自下而上分析自下而上分析的基本问题算符优先分析算法LR分析法4自下而上分析法(Bottom-up)基本思想从输入串开始,逐步进行归约,直到文法的开始符号从树末端开始,构造语法树核心问题:确定可归约串算符优先分析法按照算符的优先关系和结合性质进行语法分析适合分析表达式
#
#
#
#
违法有害信息,请在下方选择原因提交举报