Diseño e implementación de un Procesador de Lenguajes
Budget: €30 – €250 EUR
Diseño e implementación de un Procesador de Lenguajes, que realice el Análisis Léxico, Sintáctico y Semántico (incluyendo la Tabla de Símbolos y el Gestor de Errores), para un determinado lenguaje de programación.
El Procesador deberá leer el programa fuente de un archivo de texto y entregar necesariamente varios archivos de texto (lista de tokens, parse, tabla de símbolos y errores). El funcionamiento tiene que ser obligatoriamente el siguiente:
Entrada:
Fichero fuente: El Procesador ha de recibir un archivo de texto cuyo contenido es el programa que se desea analizar.
Salida. Para facilitar las tareas de depuración y de corrección de la Práctica, es necesario mostrar los resultados de los distintos módulos del Procesador. Por ello, el Procesador de la práctica deberá generar obligatoriamente los siguientes ficheros:
Fichero de tokens: Listado de todos los tokens generados para la entrada analizada. El formato del fichero de tokens ha de ser, obligatoriamente, el que se indica en la página de Documentación.
Fichero de Tabla de Símbolos: Volcado completo "legible" con toda la información de todas las Tablas de Símbolos (incluidas las locales). Cada Tabla de Símbolos deberá volcarse al fichero después de que haya sido completada y antes de su destrucción. El formato del fichero de tabla de símbolos ha de ser, obligatoriamente, el que se indica en la página de Documentación.
Fichero del parse: Listado de los números de las reglas utilizadas para realizar el Análisis Sintáctico de la entrada. El formato de los ficheros de parse y gramática ha de ser, obligatoriamente, el que se indica en la página de Documentación (pues se utilizará como entrada para la aplicación de visualización de árboles VASt).
Listado de errores: Si el programa fuente que se está analizando es incorrecto, deberá proporcionarse un listado en formato libre con los errores detectados por el Procesador (este listado se podrá mostrar alternativamente por pantalla). Para cada error hay que indicar al menos el número de la línea donde se ha detectado el error, el tipo de error detectado (léxico, sintáctico o semántico) y un mensaje claro que explique el error detectado y que permita su corrección.
Para poder visualizar gráficamente los árboles sintácticos construidos por el Analizador Sintáctico para las cadenas correctas, se utilizará la herramienta VASt. VASt recibe como entrada la gramática de contexto libre del lenguaje (correspondiente a la sintaxis del lenguaje) y un parse, y visualiza el árbol sintáctico que se corresponde con dicho parse.
El Procesador deberá leer el programa fuente de un archivo de texto y entregar necesariamente varios archivos de texto (lista de tokens, parse, tabla de símbolos y errores). El funcionamiento tiene que ser obligatoriamente el siguiente:
Entrada:
Fichero fuente: El Procesador ha de recibir un archivo de texto cuyo contenido es el programa que se desea analizar.
Salida. Para facilitar las tareas de depuración y de corrección de la Práctica, es necesario mostrar los resultados de los distintos módulos del Procesador. Por ello, el Procesador de la práctica deberá generar obligatoriamente los siguientes ficheros:
Fichero de tokens: Listado de todos los tokens generados para la entrada analizada. El formato del fichero de tokens ha de ser, obligatoriamente, el que se indica en la página de Documentación.
Fichero de Tabla de Símbolos: Volcado completo "legible" con toda la información de todas las Tablas de Símbolos (incluidas las locales). Cada Tabla de Símbolos deberá volcarse al fichero después de que haya sido completada y antes de su destrucción. El formato del fichero de tabla de símbolos ha de ser, obligatoriamente, el que se indica en la página de Documentación.
Fichero del parse: Listado de los números de las reglas utilizadas para realizar el Análisis Sintáctico de la entrada. El formato de los ficheros de parse y gramática ha de ser, obligatoriamente, el que se indica en la página de Documentación (pues se utilizará como entrada para la aplicación de visualización de árboles VASt).
Listado de errores: Si el programa fuente que se está analizando es incorrecto, deberá proporcionarse un listado en formato libre con los errores detectados por el Procesador (este listado se podrá mostrar alternativamente por pantalla). Para cada error hay que indicar al menos el número de la línea donde se ha detectado el error, el tipo de error detectado (léxico, sintáctico o semántico) y un mensaje claro que explique el error detectado y que permita su corrección.
Para poder visualizar gráficamente los árboles sintácticos construidos por el Analizador Sintáctico para las cadenas correctas, se utilizará la herramienta VASt. VASt recibe como entrada la gramática de contexto libre del lenguaje (correspondiente a la sintaxis del lenguaje) y un parse, y visualiza el árbol sintáctico que se corresponde con dicho parse.