public static string escrbiriAtributosContenedor(string nombre, Simbolo nodo) { string result = ""; TeDeU type = nodo.obtenerInstanciaTipo(); if (Utilidades.esPrimitivo(type)) { return($"{nodo.obtenerValor().stringBonito()} "); } if (nodo.obtenerValor() is ZInstancia instancia) { result += escribirContenedor(instancia); return(result); } if (nodo.obtenerValor() is ZNull) { return($"{nodo.obtenerValor().stringBonito()}"); } return(result); }
public override object ejecutarSinposicion(ZContenedor e) { foreach (NodoAsignar nodo in filas) { if (nodo.Exp2 is NodoFila n2) { Simbolo algo = (Simbolo)nodo.Exp1.ejecutar(e); ZInstancia ins = algo.obtenerInstanciaTipo().crearInstancia(e); n2.ejecutar(ins); algo.definirValor(ins); } if (!(nodo.Exp2 is NodoFila)) { nodo.ejecutar(e); } } return(null); }
public string writeAtributes(Simbolo simbolo) { string result = ""; TeDeU tipo = simbolo.obtenerInstanciaTipo(); if (Utilidades.esPrimitivo(tipo) || simbolo.obtenerValor() is ZNull) { return($"{simbolo.obtenerValor().stringBonito()}"); } if (simbolo.obtenerValor() is ZInstancia) { return("\n" + writeContainer(simbolo.obtenerValor(), true)); } throw new RuntimeBinderException("erro al escrbirir archivo chison, bd-atributos"); //return result; }