Publicación: Compilación y Programación Funcional
dc.contributor.author | Cumpián Díaz, Pablo | |
dc.date.accessioned | 2024-05-21T14:15:40Z | |
dc.date.available | 2024-05-21T14:15:40Z | |
dc.date.issued | 2023-07-14 | |
dc.description.abstract | 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. | es |
dc.description.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. | en |
dc.description.version | versión final | |
dc.identifier.uri | https://hdl.handle.net/20.500.14468/21341 | |
dc.language.iso | es | |
dc.publisher | Universidad 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.center | Facultades y escuelas::E.T.S. de Ingeniería Informática | |
dc.relation.degree | Grado en Ingeniería Informática | |
dc.relation.department | No procede | |
dc.rights | info:eu-repo/semantics/openAccess | |
dc.rights.uri | https://creativecommons.org/licenses/by-nc-nd/4.0/deed.es | |
dc.subject.keywords | compilador | |
dc.subject.keywords | análisis | |
dc.subject.keywords | síntesis | |
dc.subject.keywords | Frontend | |
dc.subject.keywords | Backend | |
dc.subject.keywords | análisis léxico | |
dc.subject.keywords | análisis sintáctico | |
dc.subject.keywords | análisis semántico | |
dc.subject.keywords | traducción | |
dc.subject.keywords | lexema | |
dc.subject.keywords | tipo | |
dc.subject.keywords | ámbito | |
dc.subject.keywords | código fuente | |
dc.subject.keywords | arbol sintáctico (Abastract Syntax Tree) | |
dc.subject.keywords | IR | |
dc.title | Compilación y Programación Funcional | es |
dc.type | proyecto fin de carrera | es |
dc.type | bachelor thesis | en |
dspace.entity.type | Publication |
Archivos
Bloque original
1 - 1 de 1
Cargando...
- Nombre:
- CumpianDiaz_Pablo_TFG.pdf
- Tamaño:
- 959.76 KB
- Formato:
- Adobe Portable Document Format