Intérprete para un lenguaje de programación orientado a objetos, con mecanismos de optimización y modificación dinámica de código

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 op...

Full description

Bibliographic Details
Main Authors: Gómez Díaz, Renzo Gonzalo, Salamanca Guillén, Juan Jesús
Other Authors: Khlebnikov, Viktor
Format: Others
Language:Spanish
Published: Pontificia Universidad Católica del Perú 2012
Subjects:
Online Access:http://tesis.pucp.edu.pe/repositorio/handle/123456789/1503
id ndltd-PUCP-oai-tesis.pucp.edu.pe-123456789-1503
record_format oai_dc
spelling ndltd-PUCP-oai-tesis.pucp.edu.pe-123456789-15032019-02-21T16:18:04Z Intérprete para un lenguaje de programación orientado a objetos, con mecanismos de optimización y modificación dinámica de código Gómez Díaz, Renzo Gonzalo Salamanca Guillén, Juan Jesús Khlebnikov, Viktor Programación orientada a objetos Lenguajes de programación (Computadoras electrónicas) 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. Tesis 2012-09-06T16:40:08Z 2012-09-06T16:40:08Z 2012 2012-09-06 info:eu-repo/semantics/bachelorThesis http://tesis.pucp.edu.pe/repositorio/handle/123456789/1503 spa Atribución-NoComercial-SinDerivadas 2.5 Perú info:eu-repo/semantics/openAccess http://creativecommons.org/licenses/by-nc-nd/2.5/pe/ application/pdf Pontificia Universidad Católica del Perú Pontificia Universidad Católica del Perú Repositorio de Tesis - PUCP
collection NDLTD
language Spanish
format Others
sources NDLTD
topic Programación orientada a objetos
Lenguajes de programación (Computadoras electrónicas)
spellingShingle Programación orientada a objetos
Lenguajes de programación (Computadoras electrónicas)
Gómez Díaz, Renzo Gonzalo
Salamanca Guillén, Juan Jesús
Intérprete para un lenguaje de programación orientado a objetos, con mecanismos de optimización y modificación dinámica de código
description 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. === Tesis
author2 Khlebnikov, Viktor
author_facet Khlebnikov, Viktor
Gómez Díaz, Renzo Gonzalo
Salamanca Guillén, Juan Jesús
author Gómez Díaz, Renzo Gonzalo
Salamanca Guillén, Juan Jesús
author_sort Gómez Díaz, Renzo Gonzalo
title Intérprete para un lenguaje de programación orientado a objetos, con mecanismos de optimización y modificación dinámica de código
title_short Intérprete para un lenguaje de programación orientado a objetos, con mecanismos de optimización y modificación dinámica de código
title_full Intérprete para un lenguaje de programación orientado a objetos, con mecanismos de optimización y modificación dinámica de código
title_fullStr Intérprete para un lenguaje de programación orientado a objetos, con mecanismos de optimización y modificación dinámica de código
title_full_unstemmed Intérprete para un lenguaje de programación orientado a objetos, con mecanismos de optimización y modificación dinámica de código
title_sort intérprete para un lenguaje de programación orientado a objetos, con mecanismos de optimización y modificación dinámica de código
publisher Pontificia Universidad Católica del Perú
publishDate 2012
url http://tesis.pucp.edu.pe/repositorio/handle/123456789/1503
work_keys_str_mv AT gomezdiazrenzogonzalo interpreteparaunlenguajedeprogramacionorientadoaobjetosconmecanismosdeoptimizacionymodificaciondinamicadecodigo
AT salamancaguillenjuanjesus interpreteparaunlenguajedeprogramacionorientadoaobjetosconmecanismosdeoptimizacionymodificaciondinamicadecodigo
_version_ 1718981460391624704