SLR(1)分析法只是简单地考察下一个输入符号b
是否属于与归约项目A→αA\rightarrowαA→α相关联的FOLLOW(A)
,但b∈FOLLOW(A)b\in FOLLOW(A)b∈FOLLOW(A) 只是归约的一个必要条件,而非充分条件。
假设栈内的符号串为 $ $ \delta\alpha $ ,规约之后变为 $ $\delta A$ ,当前读到的输入为a
,若文法中不存在以 $ $\delta a $ 为前缀的规范举行,那么这种规约就无效了。并不是FOLLOW(A)中的每个元素在A的所有举行中都会出现在A的后面。
LR(1)分析法的思想
当师徒用某一规则A→αA \rightarrow{\alpha}A→α规约栈顶的符号α\alphaα时,不仅应该查看栈中符号串δα\delta \alphaδα,还应向前扫视一个输入符号a
,只有当