public ProcesadorDeLiteralBool(ILenguaje lenguaje, IRepositorioDeProcesadores repositorio, IEvaluador evaluador) : base(repositorio) { //RepositorioDeTipos YA!! _lenguaje = lenguaje; _evaluador = evaluador; }
public Constructor(ILenguaje lenguaje) { _lenguaje = lenguaje; IRepositorioDeProcesadores repositorio = new RepositorioDeProcesadores(lenguaje); _procesadorDePrograma = new ProcesadorDePrograma(repositorio); }
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 RepositorioDeProcesadores(ILenguaje lenguaje) { _lenguaje = lenguaje; _procesadoresDeVariablesTipados = new Dictionary <string, IProcesadorSucesible> { { "string", new ProcesadorDeDeclaraciónDeString(_lenguaje, this) }, { _lenguaje.NombreTipoEntero, new ProcesadorDeDeclaraciónDeInt(_lenguaje, this) } }; }
public DeclaraciónDeContexto(ILenguaje lenguaje) { Lenguaje = lenguaje; Instrucciones = new Queue <Instrucción>(); FuncionesNativas = new ColecciónDeFunciones(); Funciones = new ColecciónDeFunciones(); VariablesDeclaradas = new List <Variable>(); Correcto = true; }
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 DeclaraciónDeContextoConFuncionesNativas(ILenguaje lenguaje) : base(lenguaje) { //Aqui aprovecho y meto las funciones base de mi api Función Println = new println(Lenguaje), Readln = new readln(Lenguaje), Readfl = new readfl(Lenguaje); FuncionesNativas.Añadir(Println); FuncionesNativas.Añadir(Readln); FuncionesNativas.Añadir(Readfl); }
public readfl(ILenguaje lenguaje) : base(lenguaje) { Nombre = NOMBRE; Parámetros.Añadir(new Parámetro { Tipo = new TipoString(Lenguaje), Nombre = "texto" }); Instrucciones.Enqueue(new LeerFichero("texto")); }
public println(ILenguaje lenguaje) : base(lenguaje) { Nombre = NOMBRE; Parámetros.Añadir(new Parámetro { Tipo = new TipoString(Lenguaje), Nombre = "texto" }); Instrucciones.Enqueue(new MostrarPorConsola("texto")); }
public ProcesadorDeDeclaraciónDeParámetroString(ILenguaje lenguaje, IRepositorioDeProcesadores repositorio) : base(lenguaje, 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 ProcesadorDeDeclaraciónDeFunción(IRepositorioDeProcesadores repositorio, ILenguaje lenguaje) : base(repositorio) { _lenguaje = lenguaje; _procesadorDeParámetros = Repositorio.ObtenerProcesadorDeDeclaraciónDeParámetros(); }
public TipoBool(ILenguaje lenguaje) : base(lenguaje) { }
public Debugger(ILenguaje lenguaje) { InitializeComponent(); _constructor = new Constructor(lenguaje); }
public readln(ILenguaje lenguaje) : base(lenguaje) { Nombre = NOMBRE; Instrucciones.Enqueue(new PedirPorConsola()); }
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 TipoString(ILenguaje lenguaje) : base(lenguaje) { }
protected Tipo(ILenguaje lenguaje) { Lenguaje = lenguaje; }
public TipoInt(ILenguaje lenguaje) : base(lenguaje) { }
public ProcesadorDeLiteralString(ILenguaje lenguaje, IRepositorioDeProcesadores repositorio, IEvaluador evaluador) : base(repositorio) { _lenguaje = lenguaje; _evaluador = evaluador; }
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 Función(ILenguaje lenguaje) : base(lenguaje) { Parámetros = new ListaDeParámetros(); }
public TipoVoid(ILenguaje lenguaje) : base(lenguaje) { }