domingo, 9 de junio de 2019
Validación y asignación NULL
Se validó que no se permitiera la interacción de operadores con NULL, y se creó el código mips para la asignación de NULL a una variable de cualquier tipo. Además se creó la documentación
viernes, 7 de junio de 2019
Retorno de las funciones y Read.
Se implementó el retorno de las funciones para todos los tipos válidos, además, la generación de código mips para la función especial read. Y se completó el manejo de Variables globales para todos los tipos válidos.
Código MIPS para valores
Se generó el código mips para algunos valores, ademas de que se generó el código mips para las declaraciones de variables que no tienen valor asociado, se les asigna una por dentro, para guardar de esta manera la dirección de la pila.
jueves, 6 de junio de 2019
Código mips para funciones en casos especiales.
Se implementó la generación de código mips para las funciones que son recursivas, además, de las funciones como parámetros y el retorno de estas para los tipos booleanos, enteros y flotantes por el momento.
miércoles, 5 de junio de 2019
Código Mips para llamado de métodos y Variables Globales
Entre el día de ayer y hoy, se implementó la generación de código para el llamado de funciones, tanto con argumentos, como sin argumentos. Haciendo uso de la pila para su correcto funcionamiento, también para las funciones con más de cuatro parámetros. Además, se hicieron unos avances en cuanto al manejo de variables globales.
Asignación a variables
Se implementó la asignación de variables con las diferentes operaciones que tienen, se hizo la restricción semántica de flotantes con mod que no se permitiera ya que MIPS no permite esta operación
lunes, 3 de junio de 2019
Código Mips para operaciones binarias y Estructuras de Control
Entre el día de ayer y hoy implementé en el programa la generación de código mips para las operaciones binarias y su asignación a expresiones. También la generación de código para las estructuras de control if, else, while, for e if ternaio.
sábado, 1 de junio de 2019
Primeros avances generando código Mips
El día de ayer y hoy investigué sobre el uso de la pila en Mips. Con la información obtenida, empecé a realizar unas pruebas, las cuales resultaron satisfactorias. Con esto, implementé las función de imprimir mensajes en Mips, y el manejo de números enteros en operaciones de suma, también para que estos pudieran ser imprimidos.
miércoles, 29 de mayo de 2019
Modificaciones en análisis semántico
Se modificó que cuando se llamara a un método y este tenga argumentos, que validara que los argumentos concuerden con el tipo cuando se les llama, si no concuerdan, se muestra un mensaje diciendo que argumento es no compatible con los que pide el método. También se validó el llamado de funciones en el cual tenía argumentos pero si no se le ponía ninguno, no daba error.
lunes, 27 de mayo de 2019
Código 3D para If Ternario.
Entre ayer y hoy completé que el programa genere el código 3D para el if ternario, ya que esto había quedado pendiente para el proyecto anterior. Además, corregí un error que se generaba en el for al utilizar este if ternario.
sábado, 25 de mayo de 2019
Generación de Código 3D para Operaciones Unarias
Corregí la generación de código 3D para las operaciones unarias, ya que cuando se presentaba siempre lo consideraba como suma unaria, esto fue corregido. También corregí la generación de código en 3D para la negación y los números negativos, ya que se debían guardar primeramente en un temporal para ser manejados.
Suscribirse a:
Entradas (Atom)