Exemplo n.º 1
0
 public ProcesadorDeLiteralBool(ILenguaje lenguaje, IRepositorioDeProcesadores repositorio, IEvaluador evaluador)
     : base(repositorio)
 {
     //RepositorioDeTipos YA!!
     _lenguaje  = lenguaje;
     _evaluador = evaluador;
 }
Exemplo n.º 2
0
        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) }
     };
 }
Exemplo n.º 6
0
        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;
        }
Exemplo n.º 7
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}";
        }
Exemplo n.º 8
0
        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);
        }
Exemplo n.º 9
0
        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"));
        }
Exemplo n.º 10
0
        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"));
        }
Exemplo n.º 11
0
 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();
 }
Exemplo n.º 14
0
 public TipoBool(ILenguaje lenguaje)
     : base(lenguaje)
 {
 }
Exemplo n.º 15
0
        public Debugger(ILenguaje lenguaje)
        {
            InitializeComponent();

            _constructor = new Constructor(lenguaje);
        }
Exemplo n.º 16
0
 public readln(ILenguaje lenguaje)
     : base(lenguaje)
 {
     Nombre = NOMBRE;
     Instrucciones.Enqueue(new PedirPorConsola());
 }
Exemplo n.º 17
0
 protected ProcesadorDeDeclaración(ILenguaje lenguaje, IRepositorioDeProcesadores repositorio)
     : base(repositorio)
 {
     Lenguaje   = lenguaje;
     _evaluador = new ProcesadorDeEvaluación(Repositorio);
 }
Exemplo n.º 18
0
 public PlantillaProcesador(ILenguaje lenguaje, IRepositorioDeProcesadores repositorio)
     : base(repositorio)
 {
 }
Exemplo n.º 19
0
 public TipoString(ILenguaje lenguaje)
     : base(lenguaje)
 {
 }
Exemplo n.º 20
0
 protected Tipo(ILenguaje lenguaje)
 {
     Lenguaje = lenguaje;
 }
Exemplo n.º 21
0
 public TipoInt(ILenguaje lenguaje)
     : base(lenguaje)
 {
 }
Exemplo n.º 22
0
 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}";
 }
Exemplo n.º 24
0
 public Función(ILenguaje lenguaje)
     : base(lenguaje)
 {
     Parámetros = new ListaDeParámetros();
 }
Exemplo n.º 25
0
 public TipoVoid(ILenguaje lenguaje)
     : base(lenguaje)
 {
 }