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); }
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}"; }
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); }
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(); }
public ProcesadorDeDeclaraciónDeParámetroString(ILenguaje lenguaje, IRepositorioDeProcesadores repositorio) : base(lenguaje, repositorio) { }
protected ProcesadorDeDeclaración(ILenguaje lenguaje, IRepositorioDeProcesadores repositorio) : base(repositorio) { Lenguaje = lenguaje; _evaluador = new ProcesadorDeEvaluación(Repositorio); }
public PlantillaProcesador(ILenguaje lenguaje, IRepositorioDeProcesadores repositorio) : base(repositorio) { }
public ProcesadorDeRetornoDeValor(IRepositorioDeProcesadores repositorio) : base(repositorio) { }
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; }