Publicación:
Compilación y Programación Funcional

dc.contributor.authorCumpián Díaz, Pablo
dc.date.accessioned2024-05-21T14:15:40Z
dc.date.available2024-05-21T14:15:40Z
dc.date.issued2023-07-14
dc.description.abstractEl 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.es
dc.description.abstractThis 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.en
dc.description.versionversión final
dc.identifier.urihttps://hdl.handle.net/20.500.14468/21341
dc.language.isoes
dc.publisherUniversidad Nacional de Educación a Distancia (España). Escuela Técnica Superior de Ingenieros Informáticos. Departamento de Lenguajes y Sistemas Informáticos
dc.relation.centerFacultades y escuelas::E.T.S. de Ingeniería Informática
dc.relation.degreeGrado en Ingeniería Informática
dc.relation.departmentNo procede
dc.rightsinfo:eu-repo/semantics/openAccess
dc.rights.urihttps://creativecommons.org/licenses/by-nc-nd/4.0/deed.es
dc.subject.keywordscompilador
dc.subject.keywordsanálisis
dc.subject.keywordssíntesis
dc.subject.keywordsFrontend
dc.subject.keywordsBackend
dc.subject.keywordsanálisis léxico
dc.subject.keywordsanálisis sintáctico
dc.subject.keywordsanálisis semántico
dc.subject.keywordstraducción
dc.subject.keywordslexema
dc.subject.keywordstipo
dc.subject.keywordsámbito
dc.subject.keywordscódigo fuente
dc.subject.keywordsarbol sintáctico (Abastract Syntax Tree)
dc.subject.keywordsIR
dc.titleCompilación y Programación Funcionales
dc.typeproyecto fin de carreraes
dc.typebachelor thesisen
dspace.entity.typePublication
Archivos
Bloque original
Mostrando 1 - 1 de 1
Cargando...
Miniatura
Nombre:
CumpianDiaz_Pablo_TFG.pdf
Tamaño:
959.76 KB
Formato:
Adobe Portable Document Format