总结上面LR分析算法为:
  置ip指向输入串w的第一个符号
  令Si为栈顶状态
  a是ip指向的符号(当前输入符号)
  begin (重复开始)
  if ACTION[Si,a]=Sj
   then begin PUSH j,a (进栈)
    ip 前进(指向下一输入符号)
   end
  else
  if ACTION[Si,a]=rj(若第j条产生式 为A→β)
  then begin
    pop |β| 项
    若当前栈顶状态为Sk
    push GOTO[Sk,A] 和A(进栈)
    end
  else if ACTION[Si,a]=acc
    then return (成功)
    else error
  end . (重复结束)
  对于上面的分析过程我们可以知道LR分析器的关键部分是分析表的构造,那么可提出以下问题:
  一个文法的LR分析表是如何得到的?
  对于一个文法,状态集是如何确定的?
  为了解决这些问题引入可归前缀与活前缀概念