/*public opModelo(nodoModelo hijo11, nodoModelo hijo21, tablaSimbolos tabla) * { * this.hijo11 = hijo11; * this.hijo21 = hijo21; * this.tabla = tabla; * }*/ public opModelo(nodoModelo hijo1, nodoModelo hijo2, tablaSimbolos tabla, token signo) { this.hijo1 = (_E)hijo1; this.hijo2 = (_E)hijo2; this.tabla = tabla; this.signo = signo; }
public objetoClase este; //sirve para guardar el puntero de la misma clase public elementoEntorno(elementoEntorno anterior, tablaSimbolos tabla, String nombre, objetoClase este) { this.este = este; this.nombre = nombre; this.tabla = tabla; this.anterior = anterior; lstEntorno = new Dictionary <string, itemEntorno>(); }
public void elementoPolimorfo3(tablaSimbolos tabla) { this.tablaSimbolos = tabla; this.tipo = new token(); this.lstParametros = new Dictionary <llaveParametro, elementoParametro>(); this.retorno = new object(); this.LST_CUERPO = new nodoModelo("", tabla); this.nombre = new token(); this.visibilidad = new token("publico"); }
public elementoPolimorfo(token visibilidad, tablaSimbolos tabla, token tipo, token nombre, nodoModelo LST_CUERPO, int dimension) { this.dimension = dimension; this.tablaSimbolos = tabla; this.tipo = tipo; this.nombre = nombre; this.lstParametros = new Dictionary <llaveParametro, elementoParametro>(); this.retorno = new object(); this.LST_CUERPO = LST_CUERPO; this.visibilidad = visibilidad; }
private void crearArbol(nodoModelo padre, ParseTreeNode nodoIrony, tablaSimbolos tabla) { nodoModelo hijoNodo = null; if (nodoIrony.ChildNodes.Count == 0) { if (nodoIrony.Token == null) { //no terminal sin hijos //Console.WriteLine("NoTerminal->" + nodoIrony.ToString()); // grafo += nodoIrony.GetHashCode() + "[label=\"" + nodoIrony.ToString() + "\"];\n"; hijoNodo = getNodo(nodoIrony.ToString(), tabla); padre.insertar(hijoNodo); } else { String terminal = escapar(nodoIrony.Token.Value.ToString()); String nombreTerminal = nodoIrony.Term.Name; token tok = new token(terminal, nodoIrony.Token.Location.Line, nodoIrony.Token.Location.Column, nombreArchivo); //Console.WriteLine("[generarArbol]crearArbol:"+nodoIrony.Term.ToString()); padre.lstAtributos.insertar(nombreTerminal, tok); //Console.WriteLine("terminal->" + terminal); //grafo += nodoIrony.GetHashCode() + "[label=\"" + terminal + "\"];\n"; } } else { hijoNodo = getNodo(nodoIrony.ToString(), tabla); //Console.WriteLine("insertando| " + padre.nombre + "->" + hijoNodo.nombre); padre.insertar(hijoNodo); //grafo += nodoIrony.GetHashCode() + "[label=\"" + nodoIrony + "\"];\n"; } foreach (ParseTreeNode hijo in nodoIrony.ChildNodes) { crearArbol(hijoNodo, hijo, tabla); //grafo += nodoIrony.GetHashCode() + "->" + hijo.GetHashCode() + ";\n"; } return; }
/* |-------------------------------------------------------------------------- | Constructor |-------------------------------------------------------------------------- | */ public elementoClase(token nombre, token visibilidad, token extender, List <nodoModelo> lstHijos, tablaSimbolos tabla) { this.tablaErrores = tabla; this.lstHijos = lstHijos; this.nombreClase = nombre; this.visibilidad = visibilidad; this.extender = extender; this.lstPrincipal = new lstPrincipal(this.tablaErrores, "principales"); this.lstMetodo_funcion = new lstMetodo_funcion(this.tablaErrores, "metodos_funciones"); this.lstConstructores = new lstConstructores(this.tablaErrores, "constructores"); //this.lstSobrescritura = new lstPolimorfismo(this.tablaErrores, "sobrescritura"); this.lstVariablesGlobales = new lstVariablesGlobales(this.tablaErrores, "var_globales"); this.lstConstructoresHeredados = new lstConstructores(this.tablaErrores, "constructores_heredados"); this.lstFormularios = new lstMetodo_funcion(this.tablaErrores, "formulario"); }
public lstConstructores(tablaSimbolos tabla, string nombre) : base(tabla, nombre) { }
public _CP_CLASE(string nombre, tablaSimbolos tabla) : base(nombre, tabla) { }
public _USAR_VARIABLE(string nombre, tablaSimbolos tabla) : base(nombre, tabla) { }
public _SOBRESCRITURA(string nombre, tablaSimbolos tabla) : base(nombre, tabla) { }
public _CONSTRUCTOR(string nombre, tablaSimbolos tabla) : base(nombre, tabla) { }
public _DECLARAR_VARIABLE_SINVISIBI(string nombre, tablaSimbolos tabla) : base(nombre, tabla) { }
public _METODO(string nombre, tablaSimbolos tabla) : base(nombre, tabla) { }
public _SUPER(string nombre, tablaSimbolos tabla) : base(nombre, tabla) { }
public _TO_FECHA(string nombre, tablaSimbolos tabla) : base(nombre, tabla) { }
public lstMetodo_funcion(tablaSimbolos tabla, string nombre) : base(tabla, nombre) { }
public _LST_CORCHETES(string nombre, tablaSimbolos tabla) : base(nombre, tabla) { }
public _ASIG_VALOR(string nombre, tablaSimbolos tabla) : base(nombre, tabla) { }
public _IMAGEN(string nombre, tablaSimbolos tabla) : base(nombre, tabla) { }
public IgualQue(nodoModelo hijo1, nodoModelo hijo2, tablaSimbolos tabla, token signo) : base(hijo1, hijo2, tabla, signo) { }
public _WHILE(string nombre, tablaSimbolos tabla) : base(nombre, tabla) { }
public _CUERPO(string nombre, tablaSimbolos tabla) : base(nombre, tabla) { }
// public String rutaDeLaCarpeta = ""; public arbol(FastColoredTextBox cuadro) { tablaDeSimbolos = new tablaSimbolos(cuadro); //tablaDeSimbolos.setRutaProyecto("ruta prueba prro"); raizArbol = new nodoModelo("raiz", tablaDeSimbolos); }
public _LST_LLAVES_VAL(string nombre, tablaSimbolos tabla) : base(nombre, tabla) { }
public _DECLARAR_VARIABLE_GLOBAL(string nombre, tablaSimbolos tabla) : base(nombre, tabla) { }
/* * public itemEntorno(tablaSimbolos tabla) * { * this.tipo = new token("nulo"); * this.nombre = new token("--"); * this.valor = new itemValor(); * valor.setTypeNulo(); * this.visibilidad = new token("privado"); * this.dimension = 0; * this.tabla = tabla; * }*/ public itemEntorno(token nombre, token tipo, itemValor valor, token visibilidad, List <int> dimension, tablaSimbolos tabla) { //validando si lo que estoy esperando es un arreglo if (dimension.Count > 0) { if (dimension.Count == valor.dimensiones.Count) { this.tipo = tipo; this.nombre = nombre; //aqui tengo qee validar los objetos this.valor = valor; itemValor tempIt = new itemValor(); String tipoDato1 = tempIt.getTipoApartirDeString(tipo.valLower); if (tipoDato1.Equals("objeto") != valor.isTypeNulo()) { this.valor.setTypeObjeto(tipo.valLower); } this.visibilidad = visibilidad; this.dimension = valor.dimensiones; //asi ya tiene dimensiones definidas } else { tabla.tablaErrores.insertErrorSemantic("Se esta recibiendo :" + valor.dimensiones.Count + " en la matriz : " + nombre.val + " de dimension:" + dimension.Count, nombre); } } else { this.tabla = tabla; if (valor.dimensiones.Count != 0) { tabla.tablaErrores.insertErrorSemantic("Se está intentando guardar en la variable :" + nombre.val + " de tipo " + tipo.valLower + ", una matriz de dimension : " + valor.dimensiones.Count, nombre); } else if (sePuedeParsear(tipo.valLower, valor)) { this.tipo = tipo; this.nombre = nombre; //guardar el valor parseado. this.valor = valor; this.valor.valor = valor.getValorParseado(tipo.valLower); itemValor tempIt = new itemValor(); String tipoDato1 = tempIt.getTipoApartirDeString(tipo.valLower); if (tipoDato1.Equals("objeto") != valor.isTypeNulo()) { this.valor.setTypeObjeto(tipo.valLower); } this.visibilidad = visibilidad; this.dimension = dimension; } else if (validandoTipo(tipo.valLower, valor)) { this.tipo = tipo; this.nombre = nombre; //aqui tengo qee validar los objetos this.valor = valor; itemValor tempIt = new itemValor(); String tipoDato1 = tempIt.getTipoApartirDeString(tipo.valLower); if (tipoDato1.Equals("objeto") != valor.isTypeNulo()) { this.valor.setTypeObjeto(tipo.valLower); } this.visibilidad = visibilidad; this.dimension = dimension; } else { tabla.tablaErrores.insertErrorSemantic("Se está intentando guardar en :" + nombre.val + " de tipo " + tipo.valLower + ", un valor de tipo " + valor.getTipo(), nombre); //error semantico, se está intentando asiganar un valor diferente al declarado por la variable } } }
public _COSENO(string nombre, tablaSimbolos tabla) : base(nombre, tabla) { }
public _POTENCIA(string nombre, tablaSimbolos tabla) : base(nombre, tabla) { }
public _HOY(string nombre, tablaSimbolos tabla) : base(nombre, tabla) { }
public _POS_CAD(string nombre, tablaSimbolos tabla) : base(nombre, tabla) { }