sábado, junio 18, 2005

Codigo Intermedio !

Aun no termino con Diseño que Colera !!! Pero el lunes salgo y me dedico a Compi en cuerpo y alma....
Bueno medio genero codigo intermedio, pero no me convence como lo estoy haciendo, asi que hoy me desvelo para cambiarlo, solo he estado trabajando a intervalos asi que no lo veo muy congruente.
Lo siento esta semana no hubo mucho avanzce..

viernes, junio 10, 2005

Stack Frames !!

Bueno esta semana he estado leyendo para implementar los stack frames en el proyecto, es bastante confuso de entender, por lo menos para mi.
Hasta donde sé, es como un "encabezado" que debo de colocar en cada funcion, tanto en el codigo intermedio como en Asembler, bueno creo que debe tener un tamaño fijo de n(multiplo de 8).
Para la generacion de codigo intermedio tengo pensado tener un arreglo(los quads) o talvez una clase para cada vez que necesite generar un quad, instanciarla.
No he programado mucho porque mi Clase de Diseño de Sistemas me ha consumido todo el tiempo, me arrepiento de haberlas metido juntas ya que me parece que Diseño me quita tiempo valioso de compi.. que mal me hubiera gustado aprobechar mejor la clase, realmente me gusta.

viernes, junio 03, 2005

Generación de Codigo Intermedio !!

Esta es la parte mas interesante del compilador, porque debemos diseñar dicho codigo de manera que la traudcción a Código objeto sea fácil.
Para implementar esta etapa, pienso hacer uso(estoy en pruebas) de un arreglo de quads, donde se almacena el código generado por cada una de las producciones de la gramática. Dicho arreglo será recorrido linealmente para la generación del código objeto (assembler para MIPS).

Lo único que es un poco indeficiente ya que tengo que declarar un arreglo muy grande, estoy pensando guardarlo mejor en un archivo de texto.

Para la generacion de cada una de las etiquetas, seran generadas secuencialmente,sin reutilizarlas. En el caso de las variables temporales que voy a necesitar seran declaradas 10 variables de t0-t9 para un paso directo a MIPS.