Pues como ya no he escrito avances, este será uno corto que tratará de explicar cómo hemos ido avanzando.
Pues bien, hasta ahora tengo una clase que se llama Separador simple que no hace más que separar líneas en un vector de elementos.
Ya que tenemos elementos separados, los podemos pasar por la clase Identificador, esta clase tiene métodos para identificar si un string dado es un registro, símbolo, etiqueta, etc...
Otra de las clases es TamanoDato, la cual se encarga de decir si un string tiene un tamaño DB o DW, los strings pueden incluir cadenas de texto debidamente formateadas, enteros, caracteres, etc.
Por otro lado, tenemos una clase llamada tabla de símbolos, la cual se encarga de guardar todas las variables que estén debidamente codificadas, obviamente ya han sido comprobadas por el identificador en orden y sintaxis. Esta clase, tiene métodos para acceder a los atributos de cada una de las variables, y además es capaz de generar un vector de vectores, simulando una matriz.
Esto es:
Vector.get(0) nos devolverá un vector con los atributos de la primera variable.
Para obtener por ejemplo del nombre de la tercera variable tendríamos...
VectorSimbolos().get(2).get(0);
Y así... todo esto está oculto en el método getPropiedad, el cual funciona enviándole un nombre de variable en lugar de un index, porque es más cómodo decir "dame el tamaño de la variable pancho" que decir, dame el tamaño de la variable 4...
En base a la clase de TablaSimbolos tenemos a la VentanaTablaSimbolos, que no es nada más que la vista del modelo contenido en la clase TablaSimbolos, la ventana simplemente recibe un vector de vectores creado a través del método crearVectorSimbolos() de tablaSimbolos.
Esto es debido al uso de DefaultTableModel que requiere vectores de filas para trabajar.
Finalmente tenemos el comprobador de instrucciones del cual hablamos en la publicación pasada, que simplemente le pregunta a las demás clases si los elementos recibidos son correctos.
Algunas comprobaciones que hace son con elementos de etiquetas, registros, variables en memoria y su tamaño, y además constantes numéricas.
Pues bien, creo que va quedando bastante bien el ensamblador, al final del semestre subiré todo el código fuente para que puedan entender mejor las ideas que quedan volando.
No hay comentarios:
Publicar un comentario