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

Descripción del Articulo

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

Descripción completa

Detalles Bibliográficos
Autores: Gómez Díaz, Renzo Gonzalo, Salamanca Guillén, Juan Jesús
Formato: tesis de grado
Fecha de Publicación:2012
Institución:Pontificia Universidad Católica del Perú
Repositorio:PUCP-Institucional
Lenguaje:español
OAI Identifier:oai:repositorio.pucp.edu.pe:20.500.14657/148905
Enlace del recurso:http://hdl.handle.net/20.500.12404/1503
Nivel de acceso:acceso abierto
Materia:Programación orientada a objetos
Lenguajes de programación (Computadoras electrónicas)
https://purl.org/pe-repo/ocde/ford#1.02.00
id RPUC_3fa027746a009fa5d8d687882e53f651
oai_identifier_str oai:repositorio.pucp.edu.pe:20.500.14657/148905
network_acronym_str RPUC
network_name_str PUCP-Institucional
repository_id_str 2905
spelling Khlebnikov, ViktorGómez Díaz, Renzo GonzaloSalamanca Guillén, Juan Jesús2012-09-06T16:40:08Z2012-09-06T16:40:08Z20122012-09-06http://hdl.handle.net/20.500.12404/1503Este 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.spaPontificia Universidad Católica del PerúPEinfo:eu-repo/semantics/openAccesshttp://creativecommons.org/licenses/by-nc-nd/2.5/pe/Programación orientada a objetosLenguajes de programación (Computadoras electrónicas)https://purl.org/pe-repo/ocde/ford#1.02.00Intérprete para un lenguaje de programación orientado a objetos, con mecanismos de optimización y modificación dinámica de códigoinfo:eu-repo/semantics/bachelorThesisTesis de licenciaturareponame:PUCP-Institucionalinstname:Pontificia Universidad Católica del Perúinstacron:PUCPIngeniero InformáticoTítulo ProfesionalPontificia Universidad Católica del Perú. Facultad de Ciencias e IngenieríaIngeniería Informática612286https://purl.org/pe-repo/renati/level#tituloProfesionalhttps://purl.org/pe-repo/renati/type#tesis20.500.14657/148905oai:repositorio.pucp.edu.pe:20.500.14657/1489052024-10-06 15:32:15.498http://creativecommons.org/licenses/by-nc-nd/2.5/pe/info:eu-repo/semantics/openAccessmetadata.onlyhttps://repositorio.pucp.edu.peRepositorio Institucional de la PUCPrepositorio@pucp.pe
dc.title.es_ES.fl_str_mv 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 Intérprete para un lenguaje de programación orientado a objetos, con mecanismos de optimización y modificación dinámica de código
spellingShingle 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
Programación orientada a objetos
Lenguajes de programación (Computadoras electrónicas)
https://purl.org/pe-repo/ocde/ford#1.02.00
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
author Gómez Díaz, Renzo Gonzalo
author_facet Gómez Díaz, Renzo Gonzalo
Salamanca Guillén, Juan Jesús
author_role author
author2 Salamanca Guillén, Juan Jesús
author2_role author
dc.contributor.advisor.fl_str_mv Khlebnikov, Viktor
dc.contributor.author.fl_str_mv Gómez Díaz, Renzo Gonzalo
Salamanca Guillén, Juan Jesús
dc.subject.es_ES.fl_str_mv Programación orientada a objetos
Lenguajes de programación (Computadoras electrónicas)
topic Programación orientada a objetos
Lenguajes de programación (Computadoras electrónicas)
https://purl.org/pe-repo/ocde/ford#1.02.00
dc.subject.ocde.es_ES.fl_str_mv https://purl.org/pe-repo/ocde/ford#1.02.00
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.
publishDate 2012
dc.date.accessioned.es_ES.fl_str_mv 2012-09-06T16:40:08Z
dc.date.available.es_ES.fl_str_mv 2012-09-06T16:40:08Z
dc.date.created.es_ES.fl_str_mv 2012
dc.date.issued.fl_str_mv 2012-09-06
dc.type.es_ES.fl_str_mv info:eu-repo/semantics/bachelorThesis
dc.type.other.none.fl_str_mv Tesis de licenciatura
format bachelorThesis
dc.identifier.uri.none.fl_str_mv http://hdl.handle.net/20.500.12404/1503
url http://hdl.handle.net/20.500.12404/1503
dc.language.iso.es_ES.fl_str_mv spa
language spa
dc.rights.es_ES.fl_str_mv info:eu-repo/semantics/openAccess
dc.rights.uri.*.fl_str_mv http://creativecommons.org/licenses/by-nc-nd/2.5/pe/
eu_rights_str_mv openAccess
rights_invalid_str_mv http://creativecommons.org/licenses/by-nc-nd/2.5/pe/
dc.publisher.es_ES.fl_str_mv Pontificia Universidad Católica del Perú
dc.publisher.country.es_ES.fl_str_mv PE
dc.source.none.fl_str_mv reponame:PUCP-Institucional
instname:Pontificia Universidad Católica del Perú
instacron:PUCP
instname_str Pontificia Universidad Católica del Perú
instacron_str PUCP
institution PUCP
reponame_str PUCP-Institucional
collection PUCP-Institucional
repository.name.fl_str_mv Repositorio Institucional de la PUCP
repository.mail.fl_str_mv repositorio@pucp.pe
_version_ 1835638273727266816
score 13.919782
Nota importante:
La información contenida en este registro es de entera responsabilidad de la institución que gestiona el repositorio institucional donde esta contenido este documento o set de datos. El CONCYTEC no se hace responsable por los contenidos (publicaciones y/o datos) accesibles a través del Repositorio Nacional Digital de Ciencia, Tecnología e Innovación de Acceso Abierto (ALICIA).