public Simbolo(Simbolo sim) { this.Visibilidad = sim.Visibilidad; this.Tipo = sim.Tipo; this.Nombre = sim.Nombre; this.Rol = sim.Rol; this.Fila = sim.Fila; this.Columna = sim.Columna; this.Ambito = sim.Ambito; this.Tamaño = sim.Tamaño; this.Posicion = sim.Posicion; this.Hermano = sim.Hermano; this.Padre = sim.Padre; this.Valor = sim.Valor; this.este = sim.este; }
public static void InsertarAmbito(Ambito ambito) { //insertamos el tope de ambito Tabla.Add(new Variable(Constante.Tope, Constante.Tope, 0, 0, null, null)); foreach (Simbolo sim in ambito.TablaSimbolo) { if (sim.Rol.Equals(Constante.ASIGNACION)) { FAsignacion3D asignacion = (FAsignacion3D)sim.Valor; if (asignacion.Tipo.Equals(Constante.Temporal)) { if (!ExisteVariable(asignacion.Temporal)) { InsertarVariable(new Variable(asignacion.Temporal, Constante.Id, 0, 0, null, null)); } } } } }
public static void Optimizar(Ambito Metodos) { Optimizado = new List <Simbolo>(); int tamanio = size; foreach (Simbolo metodo in Metodos.TablaSimbolo) { List <Simbolo> Mirilla = new List <Simbolo>(); int i = 0; List <Simbolo> Ambito = new List <Simbolo>(); int l = 0; int tope = metodo.Ambito.TablaSimbolo.Count; for (l = 0; l < tope; l++) { Mirilla.Add(metodo.Ambito.TablaSimbolo[l]); if (!(i < size) || !(l < tope - 1)) { AplicarReglas(Mirilla); //metodo.Ambito.TablaSimbolo = Mirilla; foreach (Simbolo sim in Mirilla) { Ambito.Add(sim); } Mirilla = new List <Simbolo>(); i = -1; } else { i++; } } metodo.Ambito.TablaSimbolo = Ambito; } ImprimirOptimizacion(Metodos); }
public Simbolo(String visibilidad, String tipo, String nombre, String rol, int fila, int columna, Ambito ambito, Object valor) { this.Visibilidad = visibilidad; this.Tipo = tipo; this.Nombre = nombre; this.Rol = rol; this.Fila = fila; this.Columna = columna; this.Ambito = ambito; this.Valor = valor; this.Tamaño = this.Ambito.Tamaño; this.Posicion = -1; }
public Ejecucion3D(Ambito codigo3d) { this.Codigo3D = codigo3d; }