Herramientas de ayuda para compiladores

Domínguez Pérez, José (2019). Herramientas de ayuda para compiladores. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S. de Ingenieros Informáticos (UPM), Madrid, España.

Description

Title: Herramientas de ayuda para compiladores
Author/s:
  • Domínguez Pérez, José
Contributor/s:
  • Pérez Pérez, Aurora
Item Type: Final Project
Degree: Grado en Ingeniería Informática
Date: June 2019
Subjects:
Faculty: E.T.S. de Ingenieros Informáticos (UPM)
Department: Lenguajes y Sistemas Informáticos e Ingeniería del Software
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[img]
Preview
PDF - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (1MB) | Preview

Abstract

Este trabajo de fin de grado tiene como objetivo ofrecer herramientas de ayuda a los alumnos de las asignaturas de Procesadores de Lenguajes y Traductores de Lenguajes para que las puedan utilizar en la realización de sus prácticas. Se han implementado los módulos de los analizadores léxico, sintáctico y semántico para que los alumnos puedan construir su propio procesador de lenguajes. Además, se ha desarrollado otra herramienta con la que podrán calcular el FIRST y FOLLOW de una gramática, así como comprobar que cumple la condición LL1. Las asignaturas de Procesadores de Lenguajes y Traductores de Lenguajes tienen como objetivo que los alumnos aprendan los algoritmos y estructuras de datos utilizados en la construcción de compiladores. Sin embargo, no se exige conocer cómo se programan cada uno de estos módulos de un compilador. Es por esto que se ha decido dotar a los alumnos de estas herramientas, para que puedan utilizar los diseños de alto nivel que se ven en clase y puedan dejar a un lado la programación de los distintos módulos. Por último, cabe destacar que se ha creado un nuevo algoritmo para el cálculo del FIRST y FOLLOW que permite solucionar el problema de las dependencias entre dos o más conjuntos, que hacen que el algoritmo tradicional [1] se quede en un bucle infinito.---ABSTRACT---The aim of this project is to create a tool that will assist students with hands on projects in both Language Processors and Language Translators courses. The tools that have been developed include lexical, syntactic and semantic analyzer so that students are able to build their own language processor. Moreover, another tool has been developed in order to compute the FIRST and FOLLOW of a grammar, and also, to prove that this grammar meets the LL1 condition. The Language Processors and Language Translators courses aim to teach students about the algorithms and data structures used when making a compiler. Nevertheless, it is not required to know how every component is programmed. It is because of this it has been decided to provide students with this tools so that they can focus on the high level modules studied in class instead of programming of every module. Lastly, it should be noted that it has been created a new algorithm to compute the FIRST and FOLLOW that solves dependency problems between two or more sets that makes the currently used algorithm stuck in an infinite loop.

More information

Item ID: 55766
DC Identifier: http://oa.upm.es/55766/
OAI Identifier: oai:oa.upm.es:55766
Deposited by: Biblioteca Facultad de Informatica
Deposited on: 10 Jul 2019 10:49
Last Modified: 10 Jul 2019 10:49
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM