Complutense University Library

Desarrollo de un compilador para un lenguaje funcional con gestión explícita de la memoria

Conesa, Jesús and López, Ricardo and Lozano, Ángel (2006) Desarrollo de un compilador para un lenguaje funcional con gestión explícita de la memoria. [Coursework] (Unpublished)

[img]
Preview
PDF
393kB
View download statistics for this eprint

==>>> Export to other formats

Abstract

Este proyecto de la asignatura de Sistemas Infomáticos, titulado "Desarrollo del compilador de un lenguaje functional con gestión explícita de la memoria", está enmarcado en un proyecto más grande destinado al desarrollo de un lenguaje funcional de alto nivel, llamado SAFE, que permite que el programador gestione la memoria para que no se necesite un recolector de basura en tiempo de ejecución. Dispone además de un sistema de tipos que garantiza que no se producirán punteros descolgados en tiempo de ejecución. El proyecto se encarga de la implementación de la parte frontal del compilador, utilizando Alex y Happy como herramientas para el desarrollo del analizador léxico y sintáctico y Haskell para la implementación del analizador semántico y el renombramiento de identificadores, así como el resto de los módulos. Uno de estos módulos, que implementa una de las características del lenguaje y del compilador es el de las transformaciones amargativas, debido a que SAFE está concebido con dos sintaxis diferentes: una más cercana al programador -llamada dulce- que facilita la programación y otra más cercana a la implementación -llamada amarga- más apta para las fases posteriores del compilador. El objetivo de este proyecto es, pues, tener una herramienta para probar y validar la portabilidad de diferentes algoritmos desde Haskell hasta
SAFE, permitiendo evaluar la viabilidad de este último lenguaje.
[ABSTRACT]
This "Sistemas Informticos" project, entitled "Desarrollo del compilador de un lenguaje functional con gestin explcita de la memoria" - "Development of a compiler for a functional language with explicit memory management" - is part of a broader project devoted to the development of a
high-level functional language, called SAFE, which allows the programmer to do memory management in order that a garbage collector would not be needed at runtime. Additionally, a type system guarantees that dangling Pointers will not arise during execution. The project is aimed at the implementation of the compiler's front-end, using Alex and Happy as tools for the development of the lexical and syntactic parsers, and Haskell for the implementation of the semantic analyzer and the identifier renamer, as well as the rest of the modules. One of these modules, called desugarer, implements one feature of the language and its compiler: transforming from sweet to bitter syntax. This is because SAFE is conceived with two different syntaxes. The one nearer to the programmer
-called sweet- that facilitates programming and the other nearer to the machine -called bitter- more amenable for the subsequent phases of the compiler. The aim of this project is, then, to have a tool to validate the portability of different algorithms from Haskell to SAFE, being also a test of the viability of this latter language.


Item Type:Coursework
Additional Information:

Trabajo de la asignatura Sistemas Informáticos (Facultad de Informática, Curso 2005-2006)

Uncontrolled Keywords:Compilador, Lenguaje funcional, Gestión de Memoria, Transformaciones
Subjects:Sciences > Computer science > Expert systems (Computer science)
ID Code:9139
Deposited On:02 Jul 2009 10:25
Last Modified:06 Feb 2014 08:20

Repository Staff Only: item control page