结构推理 给出预测分析程序算法的描述。
【正确答案】预测分析程序的算法描述如下:
   初始化:把#和文法起始符号顺序压栈;
   在待分析符号串的末尾加上#(作为特殊的文法终结符),并让缓冲区指针指向待分析符号串的第一个终结符;
   FLAG=false;
   WHILE (!FLAG)
   {
   x←栈顶符号;
   a←缓冲区指针指向的终结符;
   if((X∈VT)&&(X!=#))
       if(X==a)
       {
   弹出栈项符号;
           缓冲区指针后移;
       }
       else break;
   else
       if(X==#)
           if(X==a)
               FLAG=true;
           else
               break;
   else//X为非终结符
   {
       if(预测分析表X行a列是出错标志)
           break;
       Else
       {
           弹出栈顶符号;
   //假设分析表X行a列有X→X1…Xk-1Xk,其中xi为终结符或非终结符,i=1,…,k将XkXk-1…X1顺序压栈;
           }
       }
   }
   if(FLAG)
   SUCCESS;//分析成功
   Else
   ERROR;//分析失败
【答案解析】