Analizador sintáctico PSeInt (un solo archivo)

PSeInt es una herramienta para asistir a un estudiante en sus primeros pasos en programación.


Enunciado del problema

Desarrollar un analizador sintáctico para el lenguaje de programación PSeInt. Para realizar la implementación se podrán únicamente los siguientes lenguajes de programación: Python 3, C/C++ y Java.


Entrada

Su programa debe recibir por la entrada estándar el código fuente de un programa escrito en el lenguaje de programación PSeInt. Para evaluar el analizador sintáctico de forma automática su programa debe realizar el análisis sintáctico de la entrada y generar la salida adecuada, de acuerdo a las especificaciones dadas. Las salidas se deben generar por la salida estándar.


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

proceso mi_proceso
   definir a,b,c,d,e como entero;
   a <- b;
   b <- a;
   a <- c;
   Escribir a,b,c;
finproceso

Salida Ejemplo 1

El analisis sintactico ha finalizado exitosamente.

Entrada Ejemplo 2

proceso mi_proceso
    definir a como entero;
    a <- ;
finproceso

Salida Ejemplo 2

<3:10> Error sintactico: se encontro: ";"; se esperaba: "falso", "identificador", "valor_cadena", "valor_entero", "-", "(", "valor_real", "verdadero".


Parser - PsiCoder


Select your language