Este Trabajo de Fin de Grado se ha realizado con el objetivo de implementar nuevas funcionalidades e interfaces al sistema DRACO (Dinámica de Refuerzo del Aprendizaje de Compiladores). Estas nuevas funcionalidades e interfaces amplían el alcance de DRACO para poder poner el sistema en uso también para la asignatura de Traductores de Lenguajes. Además de estas nuevas implementaciones, se han realizado mejoras dentro del sistema mediante tareas de mantenimiento. Las nuevas funcionalidades que se han añadido son las definiciones del Generador de Código Intermedio y Generador de Código Objeto previas a las comprobaciones de dichos módulos, además de sus respectivas interfaces. Este Trabajo de Fin de Grado también ha dejado preparado las interfaces de los comprobadores para que, cuando se desarrollen dichos comprobadores en el sistema, se puedan implementar junto dichas interfaces. Las definiciones previas a los comprobadores darán la posibilidad a los alumnos a poder probar sus Traductores, ya sea al generar el fichero de código intermedio o el fichero de código objeto. Por otro lado, las tareas de mantenimiento que se han realizado han servido para corregir errores o incluir mejoras en el sistema, tanto para la parte del administrador, como para la parte del alumno. En esta memoria se explica todo el proceso que se ha seguido para la realización del trabajo, mediante un planteamiento del problema, las soluciones, las implementaciones y las pruebas necesarias.
ABSTRACT
This Final Degree Project has been carried out with the objective of implementing new functionalities and interfaces to the DRACO system (Dynamics of Reinforcement of Compiler Learning). These new functionalities and interfaces expand the scope of DRACO to be able to put the system into use also for the Language Translators subject. In addition to these new implementations, improvements have been made within the system through maintenance tasks. The new functionalities that have been added are the definitions of the Intermediate Code Generator and Object Code Generator prior to the checks of said modules, in addition to their respective interfaces. This Final Degree Project has also prepared the interfaces of the checkers so that, when these checkers are developed in the system, these interfaces can be implemented together. The definitions prior to the checkers will give students the possibility to test their Translators, whether to generate the intermediate code file or the object code file. On the other hand, the maintenance tasks that have been carried out have served to correct errors or include improvements in the system, both for the administrator and for the student. This report explains the entire process that has been followed to carry out the work, through a statement of the problem, the solutions, the implementations, and the necessary tests.
Este Trabajo de Fin de Grado se ha realizado con el objetivo de implementar nuevas funcionalidades e interfaces al sistema DRACO (Dinámica de Refuerzo del Aprendizaje de Compiladores). Estas nuevas funcionalidades e interfaces amplían el alcance de DRACO para poder poner el sistema en uso también para la asignatura de Traductores de Lenguajes. Además de estas nuevas implementaciones, se han realizado mejoras dentro del sistema mediante tareas de mantenimiento. Las nuevas funcionalidades que se han añadido son las definiciones del Generador de Código Intermedio y Generador de Código Objeto previas a las comprobaciones de dichos módulos, además de sus respectivas interfaces. Este Trabajo de Fin de Grado también ha dejado preparado las interfaces de los comprobadores para que, cuando se desarrollen dichos comprobadores en el sistema, se puedan implementar junto dichas interfaces. Las definiciones previas a los comprobadores darán la posibilidad a los alumnos a poder probar sus Traductores, ya sea al generar el fichero de código intermedio o el fichero de código objeto. Por otro lado, las tareas de mantenimiento que se han realizado han servido para corregir errores o incluir mejoras en el sistema, tanto para la parte del administrador, como para la parte del alumno. En esta memoria se explica todo el proceso que se ha seguido para la realización del trabajo, mediante un planteamiento del problema, las soluciones, las implementaciones y las pruebas necesarias.
ABSTRACT
This Final Degree Project has been carried out with the objective of implementing new functionalities and interfaces to the DRACO system (Dynamics of Reinforcement of Compiler Learning). These new functionalities and interfaces expand the scope of DRACO to be able to put the system into use also for the Language Translators subject. In addition to these new implementations, improvements have been made within the system through maintenance tasks. The new functionalities that have been added are the definitions of the Intermediate Code Generator and Object Code Generator prior to the checks of said modules, in addition to their respective interfaces. This Final Degree Project has also prepared the interfaces of the checkers so that, when these checkers are developed in the system, these interfaces can be implemented together. The definitions prior to the checkers will give students the possibility to test their Translators, whether to generate the intermediate code file or the object code file. On the other hand, the maintenance tasks that have been carried out have served to correct errors or include improvements in the system, both for the administrator and for the student. This report explains the entire process that has been followed to carry out the work, through a statement of the problem, the solutions, the implementations, and the necessary tests. Read More