{Este algoritmo traduce una expresión infija (EI) a postfija (EPOS), haciendo uso de una pila (PILA). MAX es el número máximo de elementos que puede almacenar la pila} 1. Hacer TOPE <-- 0 2. Mientras (EI sea diferente de la cadena vacía) Repetir Tomar el símoblo más a la izquierda de EI. Recortar luego la expresión 2.1 Si (el símbolo es paréntesis izquierdo) entonces {Poner símbolo en PILA. Se asume que hay espacio en PILA} Llamar a Pone con PILA, TOPE, MAX y símbolo si no 2.1.1 Si (el símbolo es paréntesis derecho) entonces 2.1.1.1 Mientras (PILA|TOPE) <> paréntesis izquierdo) Repetir Llamar a Quita con PILA, TOPE y DATO Hacer EPOS <--EPOS + DATO 2.1.1.2 {Fin del ciclo del paso 2.1.1.1} Llamar a Quita con PILA, TOPE y DATO (Se quita el paréntesis izquierdo de PILA y no se agrega a EPOS) si no 2.1.1.3 Si (es símbolo es un operando) entonces Agregar símbolos a EPOS si no {Es un operador} Llamar Pila_vacía con PILA, TOPE y BAND 2.1.1.3A Mientras (BAND = FALSO) y (la prioridad del operador sea menor o igual que la prioridad del operador que está en la cima de PILA) Repetir Llamar a Quita con PILA, TOPE y DATO HAcer EPOS <-- EPOS + DATO Llamar a Pila_vacía con PILA, TOPE y BAND 2.1.1.3B {Fin del paso 2.1.1.3A} Llamar a Pone con PILA, TOPE, MAX y símbolo 2.1.1.4 {Fin del condicional del paso 2.1.1.3} 2.1.2 {Fin del condicional del paso 2.1.1} 2.2 {Fin del condicional del paso 2.1} 3. {Fin del paso 2} 4. Llamar a Pila_vacía con PILA, TOPE y BAND 5. Mientras (BAND = FALSO) Repetir Llamar a Quita con PILA, TOPE y DATO Hacer EPOS <-- EPOS + DATO Llamar a Pila_vacía con PILA, TOPE y BAND 6. {Fin del ciclo del paso 5} 7. Escribir EPOS