Práctica: Postfijo y Subrutina

Reescriba la práctica de la calculadora en posfijo realizada en la sección 1.13.8 para que sea una subrutina. Escriba el programa usando dos subrutinas: una que haga el cálculo y otra que haga el análisis léxico. La subrutina que hace el análisis léxico recibe como entrada una cadena de caracteres y produce la lista de terminales. Hay tres tipos de terminales: números (\d+) y los símbols + y *. No asuma que los terminales están separados por blancos; esto es, una entrada legal podría ser:
4 5 3+*
Una posibilidad es usar el operador de sustitución s/regexp/subst/g con la opción global (g) para insertar los blancos que faltan. Vea las secciones 3.2 y 3.12. Una alternativa es el operador splice (sección 1.13.2).

La subrutina que hace el cálculo recibe como entrada la lista con los terminales y devuelve el resultado de la operación.

Casiano Rodríguez León
2009-10-04