LR(0)分析表的构造算法如下:
  假设已构造出LR(0)项目集规范族为:
  C={I0,I1, … , In}
  其中Ik为项目集的名字,k为状态名,令包含S′→·S项目的集合Ik的下标k为分析器的初始状态。那么分析表的ACTION表和GOTO表构造步骤为:
  a) 若项目A→α·aβ属于Ik且转换函数GO(Ik,a)= Ij,当a为终结符时则置ACTION[k,a]为Sj,其动作含意为将终结符a移进符号栈,状态j进入状态栈,(相当状态k时遇a转向状态j)。
  b) 若项目A→α· 属于Ik,则对任何终结符a 和'#'号置ACTION[k,a]和ACTION[k,#]为"rj",j为在文法G′中某产生式A→α的序号。rj动作的含义是把当前文法符号栈顶的符号串α归约为A,并状态栈指针从栈顶向下移动|α|的长度 , 文法符号栈从栈顶弹出|α|个符号,非终结符A变为当前面临的符号。
  c) 若GO(Ik,A)=Ij,则置GOTO[k,A]为"j",其中A为非终结符,表示当前状态为"k"时,遇文法符号A时状态应转向j,因此A移入文法符号栈,j移入状态栈。
  d) 若项目S′→S·属于Ik,则置ACTION[k,#]为"acc",表示接受。
  e) 凡不能用上述方法填入的分析表的元素,均应填上"报错标志"。为了表的清晰我们仅用空白表示错误标志。
根据这种方法构造的LR(0)分析表不含多重定义时,称这样的分析表为LR(0)分析表,能用LR(0)分析表的分析器称为LR(0)分析器,能构造LR(0)分析表的文法称为LR(0)文法。