Exemple #1
0
 public ProcesadorDeLiteralBool(ILenguaje lenguaje, IRepositorioDeProcesadores repositorio, IEvaluador evaluador)
     : base(repositorio)
 {
     //RepositorioDeTipos YA!!
     _lenguaje  = lenguaje;
     _evaluador = evaluador;
 }
        public ProcesadorDeDeclaraciónDeParámetros(ILenguaje lenguaje, IRepositorioDeProcesadores repositorio)
            : base(repositorio)
        {
            EXPRESION_UN_PARAMETRO = $@"({lenguaje.NombreTipoCadena}|{lenguaje.NombreTipoEntero}){{1}}{SEPARADORES}(?<{NOMBRE_GRUPO_NOMBRE_DE_PARAMETRO}>{FORMATO_VALIDO_NOMBRE_DE_VARIABLE})?{SEPARADORES}";
            EXPRESION = $@"{EXPRESION_UN_PARAMETRO}(?({SEPARADORES},{SEPARADORES}){EXPRESION_UN_PARAMETRO})*";

            _procesadorDeDeclaraciónDeParámetros = new ManejadorDeDeclaradorDeParámetros(Repositorio);
        }
 public ProcesadorDeTipoDeRetornoInt(ILenguaje lenguaje, IRepositorioDeProcesadores repositorio, IEvaluador evaluador)
     : base(repositorio)
 {
     //RepositorioDeTipos YA!!
     _lenguaje  = lenguaje;
     _evaluador = evaluador;
     EXPRESION  = $@"{_lenguaje.NombreTipoEntero}";
 }
        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);
        }
        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);
        }
Exemple #6
0
        public ProcesadorDeDeclaraciónDeVariable(ILenguaje lenguaje, IRepositorioDeProcesadores repositorio)
            : base(repositorio)
        {
            _manejador = new ManejadorDeDeclaradorDeVariables(repositorio);

            var tiposVálidos = string.Join("|", new List <string> {
                lenguaje.NombreTipoBool, lenguaje.NombreTipoCadena, lenguaje.NombreTipoEntero
            });

            EXPRESION = $@"({tiposVálidos}){{1}}{SEPARADORES_OBLIGATORIOS}{FORMATO_VALIDO_NOMBRE_DE_VARIABLE}{SEPARADORES}(={SEPARADORES}("")*[{LETRAS_PERMITIDAS}{CARACTERES_VALOR_DE_INT},\s\{{\}}\(\)""]*("")*{SEPARADORES})?{SEPARADORES}";
        }
Exemple #7
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);
        }
Exemple #8
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);
        }
 public ProcesadorDePrograma(IRepositorioDeProcesadores repositorio)
     : base(repositorio)
 {
     _procesadorDeCuerpoDeExpresiones = repositorio.ObtenerProcesadorDeCuerpoDeExpresiones();
 }
 public ProcesadorDeDeclaraciónDeString(ILenguaje lenguaje, IRepositorioDeProcesadores repositorio)
     : base(lenguaje, repositorio)
 {
     EXPRESION = $@"{lenguaje.NombreTipoCadena}{SEPARADORES_OBLIGATORIOS}(?<{NOMBRE_GRUPO_NOMBRE_DE_VARIABLE}>{FORMATO_VALIDO_NOMBRE_DE_VARIABLE}){SEPARADORES}(={SEPARADORES}(?<{NOMBRE_GRUPO_VALOR_DE_VARIABLE}>{FORMATO_VALIDO_VALOR_DE_STRING}|{FORMATO_VALIDO_NOMBRE_DE_VARIABLE}\([{CARACTERES_PASO_DE_PARAMETROS}]*\)|{FORMATO_VALIDO_NOMBRE_DE_VARIABLE}))?{SEPARADORES}(;|\))?";
     //EXPRESION = $@"{lenguaje.NombreTipoCadena}{SEPARADORES}(?<{NOMBRE_GRUPO_NOMBRE_DE_VARIABLE}>{FORMATO_VALIDO_NOMBRE_DE_VARIABLE}){SEPARADORES}(={SEPARADORES}(?<{NOMBRE_GRUPO_VALOR_DE_VARIABLE}>""[{LETRAS_PERMITIDAS}{CARACTERES_VALOR_DE_INT}\s\\{{\\}}""]*""))?{SEPARADORES}";
 }
 public ProcesadorDeDeclaraciónDeFunción(IRepositorioDeProcesadores repositorio, ILenguaje lenguaje)
     : base(repositorio)
 {
     _lenguaje = lenguaje;
     _procesadorDeParámetros = Repositorio.ObtenerProcesadorDeDeclaraciónDeParámetros();
 }
Exemple #12
0
 public ProcesadorDeDeclaraciónDeParámetroString(ILenguaje lenguaje, IRepositorioDeProcesadores repositorio)
     : base(lenguaje, repositorio)
 {
 }
Exemple #13
0
 protected ProcesadorDeDeclaración(ILenguaje lenguaje, IRepositorioDeProcesadores repositorio)
     : base(repositorio)
 {
     Lenguaje   = lenguaje;
     _evaluador = new ProcesadorDeEvaluación(Repositorio);
 }
Exemple #14
0
 public PlantillaProcesador(ILenguaje lenguaje, IRepositorioDeProcesadores repositorio)
     : base(repositorio)
 {
 }
 public ProcesadorDeRetornoDeValor(IRepositorioDeProcesadores repositorio)
     : base(repositorio)
 {
 }
Exemple #16
0
 protected Procesador(IRepositorioDeProcesadores repositorio)
 {
     Repositorio = repositorio;
 }
 public ProcesadorDeDeclaraciónDeInt(ILenguaje lenguaje, IRepositorioDeProcesadores repositorio)
     : base(lenguaje, repositorio)
 {
     EXPRESION = $@"({SEPARADORES}|\()?{lenguaje.NombreTipoEntero}{SEPARADORES_OBLIGATORIOS}(?<{NOMBRE_GRUPO_NOMBRE_DE_VARIABLE}>{FORMATO_VALIDO_NOMBRE_DE_VARIABLE}){SEPARADORES}(={SEPARADORES}(?<{NOMBRE_GRUPO_VALOR_DE_VARIABLE}>{FORMATO_VALIDO_VALOR_DE_INT}|{FORMATO_VALIDO_NOMBRE_DE_VARIABLE})?)?{SEPARADORES}";
 }
 public ProcesadorDeEvaluación(IRepositorioDeProcesadores repositorio)
     : base(repositorio)
 {
     _manejador = new ManejadorDeEvaluación(Repositorio, this);
 }
 public ProcesadorDeLlamadaFunción(IRepositorioDeProcesadores repositorio, IEvaluador evaluador)
     : base(repositorio)
 {
     _evaluador = evaluador;
 }
        //protected override string Expresión => throw new System.NotImplementedException();

        protected ProcesadorSucesible(IRepositorioDeProcesadores repositorio) : base(repositorio)
        {
        }
 public ProcesadorDeAsignación(IRepositorioDeProcesadores repositorio)
     : base(repositorio)
 {
 }
 public ProcesadorDeApilaciónDeVariable(IRepositorioDeProcesadores repositorio, IEvaluador evaluador)
     : base(repositorio)
 {
     _evaluador = evaluador;
 }
 public ProcesadorDeLiteralString(ILenguaje lenguaje, IRepositorioDeProcesadores repositorio, IEvaluador evaluador)
     : base(repositorio)
 {
     _lenguaje  = lenguaje;
     _evaluador = evaluador;
 }