图中符号说明如下:
  "#"句子括号即输入串的括号
  "S"文法的开始符号
  "X"存放当前栈顶符号的工作单元
  "a"存放当前输入符号a的工作单元
  预测分析程序的算法可为:
  BEGIN
  首先把'#'和文法开始符号推入 STACK 栈;
  把第一个输入符号读进a;
  FLAG:=TRUE;
  WHILE FIAG DO
   BEGIN
   把STACK栈顶符号上托出去并放在X中;
    IF X ∈ VT THEN
     IF X=a THEN
      把下一个输入符号读进a
     ELSE ERROR
    ELSE IF X='#' THEN
     IF X=a THEN FLAG:=FALSE
     ELSE ERROR
    ELSE
     IF M[X,a]={X→X1X2...XK} THEN
      把XK,XK-1,…X1一一推 进 STACK
      /*若X1X2…XK=ε ,不推什么进栈*/
     ELSE ERROR
  END OF WHILE;
  STOP/*分析成功,过程完毕*/