Intérprete para un lenguaje de programación orientado a objetos, con mecanismos de optimización y modificación dinámica de código
Date
2012-09-06Author
Gómez Díaz, Renzo Gonzalo
Salamanca Guillén, Juan Jesús
Metadata
Show full item recordAbstract
Este trabajo trata sobre la implementación de un intérprete para un lenguaje
propio, que incluye algunas características que no son abordadas en cursos
básicos de Desarrollo de Compiladores. Estas características son: lenguaje
de programación orientado a objetos, modificación dinámica de código y
optimización de código intermedio.
El objetivo de este proyecto es presentar estas características, proponer una
forma de implementación de las mismas y finalmente proceder a
implementarlas. De tal manera que este trabajo contribuya al aprendizaje de
construcción de intérpretes o compiladores, sirviendo como un caso de
estudio para aquellas personas que tengan como objetivo profundizar en el
tema, y por consiguiente un posible punto de partida para futuros trabajos.
Por otro lado, es necesario validar los resultados obtenidos por el optimizador,
así como la eficiencia de la forma implementación escogida, por lo que se
incluye también una experimentación numérica que permite comprobar las
hipótesis planteadas al inicio.
En la primera parte, se define el problema identificado, luego se describe un
breve marco teórico con los principales conceptos involucrados en el
desarrollo del proyecto, seguidamente se muestra el estado del arte con
relación a compiladores e intérpretes y se describe la solución al problema
planteado al inicio. En la segunda parte, principalmente, se describen los
objetivos del proyecto, los aportes específicos, los resultados esperados y las
hipótesis.
Como se mencionó anteriormente, uno de los objetivos que se persigue es
que la tesis pueda servir como un caso de estudio para las personas
interesadas y una posible base para trabajos futuros; por lo tanto, es
necesario explicar la implementación con un nivel de detalle adecuado. En
ese sentido, se describe las distintas partes de la implementación escogida:
se comienza con la descripción de la gramática del lenguaje, después se
describen las estructuras utilizadas, algunas operaciones primitivas, el código
intermedio generado, las principales acciones semánticas, la
interpretación, la administración de memoria, los algoritmos de
optimización, el diseño del IDE y el ambiente de desarrollo.
Temas
Programación orientada a objetos
Lenguajes de programación (Computadoras electrónicas)
Lenguajes de programación (Computadoras electrónicas)
Para optar el título de
Ingeniero Informático