Analizador sintáctico CORAL (un solo archivo)

Enunciado del problema

Desarrollar un analizador sintáctico para el lenguaje de programación CORAL. 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 CORAL, 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 CORAL. 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

integer x
integer y
integer max
x = Get next input
y = Get next input

if x > y
   max = x
else
   max = y

Put max to output

Salida Ejemplo 1

El analisis sintactico ha finalizado exitosamente.

Entrada Ejemplo 2

Function UNCode() returns 5.0
   lexer = 5.0
   parser = 5.0
   total = (lexer + parser)/2

Salida Ejemplo 2

<1:27> Error sintactico: se encontro "5.0"; se esperaba: "float", "integer", "nothing".


Parser - CORAL


Select your language