Compilación y Programación Funcional

Cumpián Díaz, Pablo (2023). Compilación y Programación Funcional,Universidad Nacional de Educación a Distancia (España). Escuela Técnica Superior de Ingenieros Informáticos. Departamento de Lenguajes y Sistemas Informáticos.

Ficheros (Some files may be inaccessible until you login with your e-spacio credentials)
Nombre Descripción Tipo MIME Size
CumpianDiaz_Pablo_TFG.pdf CumpianDiaz_Pablo_TFG.pdf application/pdf 959.75KB

Título Compilación y Programación Funcional
Autor(es) Cumpián Díaz, Pablo
Materia(s) Ingeniería Informática
Resumen El presente proyecto expone el desarrollo de un compilador bajo el paradigma de programación funcional. El beneficio de este enfoque, como se podrá comprobar, reside principalmente en la claridad conceptual que aporta la arquitectura empleada, acercando lo máximo posible el código a la especficación del lenguaje. El objetivo del proyecto no es sino el de proponer una alternativa sólida y bien fundamentada a las recurrentes aproximaciones imperativas en la docencia de este campo, como pretexto para dar cabida a conceptos avanzados de este paradigma. Se da pie por tanto a distintas construcciones y patrones funcionales especialmente útiles para emprender un desarrollo de estas dimensiones. El resultado práctico de este trabajo es un compilador, esto es, la implementación de un lenguaje de programación. El alcance de este proyecto no reside, sin embargo, en la potencia del lenguaje en sí, sino en el recorrido que esto supone, explorando desde la traducción del código fuente hasta la ejecución directa sobre una máquina, permitiéndonos exponer en amplitud los retos que supone cada fase de este proceso. En cuanto a los objetivos de aprendizaje, el proyecto viene justificado por el deseo de adquirir mayor destreza con la programación funcional, así como profundizar en el conocimiento de la compilación y su terminología, técnicas y arquitectura. En este sentido, el trabajo pretende dar pie al bagaje teórico de las asignaturas de Procesadores del Lenguaje del Grado en Ingeniería Informática, de forma que el resultado práctico del mismo esté acompañado con breves apuntes que describan los problemas y soluciones adoptadas.
Abstract This project presents the development of a compiler under the functional programming paradigm. The benefit of this approach, as will be seen, lies mainly in the conceptual clarity provided by the architecture used, bringing the code as close as possible to the specification of the language. The aim of the project is simply to propose a solid and well-founded alternative to the recurrent imperative approaches in the teaching of this field, as a pretext to accommodate advanced concepts of this paradigm. Therefore, different constructions and functional patterns especially useful to undertake a development of these dimensions are given rise to. The practical result of this work is a compiler, that is, the implementation of a programming language. The scope of this project does not lie, however, in the power of the language itself, but in the journey that this entails, exploring from the translation of the source code to direct execution on a machine, allowing us to expose in breadth the challenges involved in each phase of this process. As for the learning objectives, the project is justified by the desire to become proficient with functional programming, as well as to deepen the knowledge of compilation and its terminology, techniques and architecture. In this sense, the work is intended to give rise to the theoretical background of the Language Processor subjects of the CS degree, so that the practical result of the work is accompanied by brief notes describing the problems and solutions adopted.
Palabras clave compilador
análisis
síntesis
Frontend
Backend
análisis léxico
análisis sintáctico
análisis semántico
traducción
lexema
tipo
ámbito
código fuente
arbol sintáctico (Abastract Syntax Tree)
IR
Editor(es) Universidad Nacional de Educación a Distancia (España). Escuela Técnica Superior de Ingenieros Informáticos. Departamento de Lenguajes y Sistemas Informáticos
Supervisor del trabajo López Ostenero, Fernando
Fecha 2023-07-14
Formato application/pdf
Identificador http://e-spacio.uned.es/fez/view/bibliuned:grado-ETSIInformatica-II-Pcumpian
bibliuned:grado-ETSIInformatica-II-Pcumpian
Idioma spa
tipo/versión del documento info:eu-repo/semantics/acceptedVersion
info:eu-repo/semantics/bachelorThesis
Versión de la publicación acceptedVersion
Nivel de acceso y licencia http://creativecommons.org/licenses/by-nc-nd/4.0
info:eu-repo/semantics/openAccess
Tipo de recurso Bachelor Thesis
Tipo de acceso Acceso abierto
Notas adicionales Trabajo de Fin de Grado en Ingeniería Informática de modalidad específica. UNED

 
Versiones
Versión Tipo de filtro
Contador de citas: Google Scholar Search Google Scholar
Estadísticas de acceso: 295 Visitas, 131 Descargas  -  Estadísticas en detalle
Creado: Tue, 25 Jul 2023, 20:58:32 CET