private void button5_Click(object sender, EventArgs e) { // Compilar // Reiniciar TS TablaSimbolos.reiniciar(); int actual = paginas.SelectedIndex; if (actual >= 0) { Compilador compilador = new Compilador(); txtC3D.Text = ""; Pagina pag = (Pagina)paginas.SelectedTab; Compilador.rutaEjecutada = pag.ruta; List <C3D> codigo3d = compilador.compilar(pag.cuerpo.Text, txtConsola, pag.tipo, pag.nombre); if (codigo3d == null) { return; } instrucciones = codigo3d; foreach (C3D codigo in codigo3d) { txtC3D.AppendText(codigo.getInstruccion() + "\n"); } } else { MessageBox.Show("Seleccione un archivo antes para compilar!"); } }
public static void getReporteTS(TablaSimbolos ts, ref DataGridView tabla) { /*public String nombre, padre, clase; * public int ambito, tipo, rol, pos, tam; * //public int fila, columna; * public List<int> dimensiones;*/ tabla.Columns.Add(crearColumna("#")); tabla.Columns.Add(crearColumna("Rol")); tabla.Columns.Add(crearColumna("Nombre")); tabla.Columns.Add(crearColumna("Padre")); tabla.Columns.Add(crearColumna("Tipo")); tabla.Columns.Add(crearColumna("Clase")); tabla.Columns.Add(crearColumna("Ambito")); tabla.Columns.Add(crearColumna("Visibilidad")); tabla.Columns.Add(crearColumna("Posicion")); tabla.Columns.Add(crearColumna("Tamaño")); tabla.Columns.Add(crearColumna("Dimensiones")); int id = 1; foreach (Simbolo simbolo in ts) { object[] fila = new object[11]; fila[0] = id; fila[1] = Simbolo.getValor(simbolo.rol); fila[2] = simbolo.nombre; fila[3] = simbolo.padre; fila[4] = Simbolo.getValor(simbolo.tipo); fila[5] = simbolo.clase; if (simbolo.clase == null) { fila[5] = "--------"; } fila[6] = Simbolo.getValor(simbolo.ambito); fila[7] = Simbolo.getVisibilidad(simbolo.visibilidad); fila[8] = simbolo.pos; fila[9] = simbolo.tam; fila[10] = "--------"; if (simbolo.dimensiones != null) { fila[10] = ""; foreach (int v in simbolo.dimensiones) { fila[10] += v + " "; } } tabla.Rows.Add(fila); id++; } }
public Compilador() { clases = new List <Clase>(); tablaSimbolos = TablaSimbolos.getInstance; }
public static void reiniciar() { instance = null; }
public void setReporteTS(TablaSimbolos ts) { this.txtNombre.Text = "Reporte de Tabla de Simbolos"; Reporte.getReporteTS(ts, ref this.tablaReporte); }