Reconocimiento Sintáctico Predictivo no-Recursivo Entrada: Una hilera w$ and a la tabla de análisis sintáctico M[] para la gramática G Stack.CleanUp() Stack.Push($) Stack.Push(S) // Símbolo inicial token = next_token() do { switch ( X = Stack.Top() ) { case (X es terminal) : if (X == token) { Stack.Pop() // X token = next_token() } else { error() } case (X es NO terminal) : if ( M[X,token] == X -> Y1 Y2 ... Yk) then Stack.Pop() // X Stack.Push(Yk) ... Stack.Push(Y1) else { error() } } } while (X != EOF)