public ManejadorDeDeclaradorDeVariables(IRepositorioDeProcesadores repositorioDeProcesadores)
        {
            IProcesadorSucesible procesadorDeDeclaraciónDeString = repositorioDeProcesadores.ObtenerProcesadorDeDeclaraciónDeString(),
                                 procesadorDeDeclaraciónDeInt    = repositorioDeProcesadores.ObtenerProcesadorDeDeclaraciónDeInt(),
                                 procesadorDeDeclaraciónDeBool   = repositorioDeProcesadores.ObtenerProcesadorDeDeclaraciónDeBool();

            _inicial = procesadorDeDeclaraciónDeString;
            procesadorDeDeclaraciónDeString.EstablecerSucesor(procesadorDeDeclaraciónDeInt);
            procesadorDeDeclaraciónDeInt.EstablecerSucesor(procesadorDeDeclaraciónDeBool);
        }
        public ManejadorDeTipoDeRetorno(IRepositorioDeProcesadores repositorioDeProcesadores)
        {
            IProcesadorSucesible procesadorDeRetornoInt    = repositorioDeProcesadores.ObtenerProcesadorDeTipoDeRetornoInt(this),
                                 procesadorDeRetornoString = repositorioDeProcesadores.ObtenerProcesadorDeTipoDeRetornoString(this),
                                 procesadorDeRetornoBool   = repositorioDeProcesadores.ObtenerProcesadorDeTipoDeRetornoBool(this);

            _inicial = procesadorDeRetornoInt;
            procesadorDeRetornoInt.EstablecerSucesor(procesadorDeRetornoString);
            procesadorDeRetornoString.EstablecerSucesor(procesadorDeRetornoBool);
        }
예제 #3
0
        public ManejadorDeEvaluación(IRepositorioDeProcesadores repositorioDeProcesadores, IEvaluador evaluador)
        {
            IProcesadorSucesible procesadorDeLiteralInt      = repositorioDeProcesadores.ObtenerProcesadorDeLiteralInt(evaluador),
                                 procesadorDeLiteralString   = repositorioDeProcesadores.ObtenerProcesadorDeLiteralString(evaluador),
                                 procesadorDeLiteralBool     = repositorioDeProcesadores.ObtenerProcesadorDeLiteralBool(evaluador),
                                 procesadorDeValorDeVariable = repositorioDeProcesadores.ObtenerProcesadorDeApilaciónDeVariable(evaluador),
                                 procesadorDeLlamadaAFunción = repositorioDeProcesadores.ObtenerProcesadorDeLlamadaFunción(evaluador);

            _inicial = procesadorDeLiteralInt;
            procesadorDeLiteralInt.EstablecerSucesor(procesadorDeLiteralString);
            procesadorDeLiteralString.EstablecerSucesor(procesadorDeLiteralBool);
            procesadorDeLiteralBool.EstablecerSucesor(procesadorDeValorDeVariable);
            procesadorDeValorDeVariable.EstablecerSucesor(procesadorDeLlamadaAFunción);
        }
예제 #4
0
        public ManejadorDeProcesadores(IRepositorioDeProcesadores repositorioDeProcesadores, IEvaluador evaluador)
        {
            _repositorioDeProcesadores = repositorioDeProcesadores;

            var procesadorDeBucleFor = _repositorioDeProcesadores.ObtenerProcesadorDeBucleFor();

            _inicial = procesadorDeBucleFor;

            var procesadorDeVariables            = _repositorioDeProcesadores.ObtenerProcesadorDeDeclaraciónDeVariable();
            var procesadorDeDeclaraciónDeFunción = repositorioDeProcesadores.ObtenerProcesadorDeDeclaraciónDeFunción();
            var procesadorDeAsignación           = _repositorioDeProcesadores.ObtenerProcesadorDeAsignación();
            var procesadorDeLlamadaFunción       = _repositorioDeProcesadores.ObtenerProcesadorDeLlamadaFunción(evaluador);
            var procesadorDeRetornoDeValor       = _repositorioDeProcesadores.ObtenerProcesadorDeRetornoDeValor();

            procesadorDeBucleFor.EstablecerSucesor(procesadorDeDeclaraciónDeFunción);
            procesadorDeDeclaraciónDeFunción.EstablecerSucesor(procesadorDeLlamadaFunción);
            procesadorDeLlamadaFunción.EstablecerSucesor(procesadorDeVariables);
            procesadorDeVariables.EstablecerSucesor(procesadorDeAsignación);
            procesadorDeAsignación.EstablecerSucesor(procesadorDeRetornoDeValor);
        }
예제 #5
0
 public void EstablecerSucesor(IProcesadorSucesible sucesor)
 {
     Sucesor = sucesor;
 }