public static void InsertarId(Nodo n) { if (n.getTipoToken() == token.Type.ID) { if (!Symtab.BuscarVariable(n)) { Symtab.AñadirVariable(n); } else { Symtab.Variable dato = Symtab.GetVariable(n); n.setTipoDato(dato.tipo); Symtab.ActualizarVariable(n); } } if (n.hijos[0] != null) { InsertarId(n.hijos[0]); } if (n.hijos[1] != null) { InsertarId(n.hijos[1]); } if (n.hijos[2] != null) { InsertarId(n.hijos[2]); } if (n.hermano != null) { InsertarId(n.hermano); } }
private static Nodo ActualizarNodo(Nodo n) { Symtab.Variable aux = Symtab.GetVariable(n); n.setTipoDato(aux.tipo); return(n); }