0% encontró este documento útil (0 votos)
110 vistas4 páginas

Proyecto Lab Programacion II

Este documento describe un proyecto de laboratorio para desarrollar un compilador simple que traduce C++ a código ensamblador utilizando programación orientada a objetos. Se crearon tres clases: Variable, Instrucciones y Ensamblador. La clase Instrucciones almacena líneas de código que son enviadas a Ensamblador para su traducción basada en los atributos de Variable. El resultado final es un código C++ y su correspondiente traducción a ensamblador. Aunque incompleto, este compilador simple representa un avance en el apre
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
110 vistas4 páginas

Proyecto Lab Programacion II

Este documento describe un proyecto de laboratorio para desarrollar un compilador simple que traduce C++ a código ensamblador utilizando programación orientada a objetos. Se crearon tres clases: Variable, Instrucciones y Ensamblador. La clase Instrucciones almacena líneas de código que son enviadas a Ensamblador para su traducción basada en los atributos de Variable. El resultado final es un código C++ y su correspondiente traducción a ensamblador. Aunque incompleto, este compilador simple representa un avance en el apre
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

“Año del Fortalecimiento de la Soberanía Nacional”

UNIVERSIDAD DE INGENIERÍA Y
TECNOLOGÍA

PROYECTO DE LABORATORIO

COMPILADOR

Curso:
Programación II - Teoría 1

Profesor:
Fiestas Iquira, Jose Antonio

Integrantes del grupo:

INTEGRANTES SECCIÓN PORCENTAJE

Bolaños Aedo, Ray Sebastian 1.03 100%

Leiva Novoa, Fabrizio Enrique 1.03 100%

Maraza Vera, Gustavo Nolberto 1.03 100%

2022
Introducción:
Este código busca desarrollar un modelo simple de compilador que traduzca un
lenguaje de alto nivel como C++ a un código ensamblador utilizando Programación
Orientada a Objetos.

Métodos:
Para lograr esto, desarrollamos tres clases en C++. Una clase Variable, una clase
Instrucciones, y una clase Ensamblador, que traduce las líneas de código almacenadas.

Resultados :
Parece confuso crear una clase Instrucciones que no esté relacionada a las otras. El
valor de esta clase Instrucciones es almacenar las líneas de código, luego las
obtenemos y las enviamos a un objeto de clase Ensamblador, que se encargará de
traducirlas.
El vector variables sirve para guardar tanto el nombre de la variable (llamémosla ‘a’)
y la dirección de esta variable (llamémosla 100). Luego se puede llamar el nombre o
la dirección cuando se requiera.

En la clase Ensamblador nos encargamos de usar los atributos de Variable y traducimos


dependiendo de lo que nos encontremos. Esto lo hacemos en los métodos que llevan como
nombre “comando_x”

Finalmente, en el método de clase traducir nos encargamos de traducir todas las líneas
del código y almacenarlas en su vector traducción.
Este sería el resultado final:

Código

Traducción

Conclusiones:
El código fue uno de los más complicados de hacer en el ciclo. No es perfecto, y tiene
algunas limitaciones. Esto podríamos mejorarlo estudiando más cómo funcionan los
archivos, así usaríamos estos elementos al máximo. Con el conocimiento que tenemos
ahora no nos fue posible desarrollar un código completamente funcional que traduzca
todo tipo de códigos. Se podría hacer un código con más condicionales y que pueda
procesar y traducir otras instrucciones. Sin embargo, estamos bastante contentos con
el código que logramos desarrollar, y esperamos que en el futuro podamos crear
códigos aún mejores.

También podría gustarte