Enunciado del problema
Desarrollar un analizador sintáctico para el lenguaje de programación Lua. Para realizar la implementación se podrán utilizar únicamente los siguientes lenguajes de programación: Python 3, C/C++ y Java.
Entrada
La entrada consiste en el código fuente de un programa en Lua, el cual puede estar correcto sintácticamente o no. Su programa debe recibir por la entrada estándar (consola) el código fuente de un programa escrito en el lenguaje de programación Lua. La entrada dada no contiene errores léxicos.
Salida
Por cada archivo de entrada se debe mostrar la salida, según lo especificado en el enunciado de la práctica.
Ejemplos
Entrada Ejemplo 1
function saludar(texto) print(texto) end
Salida Ejemplo 1
El analisis sintactico ha finalizado exitosamente.
Entrada Ejemplo 2
local 1;
Salida Ejemplo 2
<1:7> Error sintactico: se encontro: "1"; se esperaba: "error", "function", "id", "pcall", "print", "warn", "xpcall".