protected override void CrearComportamiento(string cadena, DeclaraciónDeContexto declaración, int desplazamiento) { var variable = new Variable { Tipo = TipoDeVariable, Nombre = NombreDeVariable //Valor = string.IsNullOrEmpty(ValorDeVariable) ? TipoDeVariable.ValorPorDefecto : ValorDeVariable }; var instrucción = new DeclaraciónDeVariable(variable, cadena) { Inicio = desplazamiento }; declaración.Instrucciones.Enqueue(instrucción); declaración.VariablesDeclaradas.Add(variable); }
protected override void CrearComportamiento(string cadena, DeclaraciónDeContexto declaración, int desplazamiento) { var variable = new Variable { Tipo = TipoDeVariable, Nombre = NombreDeVariable //El valor en lugar de pasárselo, tengo que construir instrucciones para obtenerlo //Valor = string.IsNullOrEmpty(ValorDeVariable) ? TipoDeVariable.ValorPorDefecto : ValorDeVariable }; //Igual un CrearVariable y uego un AsignarValorDeVariable var instrucción = new DeclaraciónDeVariable(variable, cadena) //Este puede que simplemente haga un pop de algun sitio y coja el valor { Inicio = desplazamiento }; declaración.Instrucciones.Enqueue(instrucción); declaración.VariablesDeclaradas.Add(variable); }