Exemplo n.º 1
0
        public TablaReservada()
        {
            palabras = new Reservada[20];
            // public String lexema;
            // public String simbolo;
            // public int valor;

            palabras[0]  = new Reservada("SELECT", "s", 10);
            palabras[1]  = new Reservada("FROM", "f", 11);
            palabras[2]  = new Reservada("WHERE", "w", 12);
            palabras[3]  = new Reservada("IN", "n", 13);
            palabras[4]  = new Reservada("AND", "y", 14);
            palabras[5]  = new Reservada("OR", "o", 15);
            palabras[6]  = new Reservada("CREATE", "c", 16);
            palabras[7]  = new Reservada("TABLE", "t", 17);
            palabras[8]  = new Reservada("CHAR", "h", 18);
            palabras[9]  = new Reservada("NUMERIC", "u", 19);
            palabras[10] = new Reservada("NOT", "e", 20);
            palabras[11] = new Reservada("NULL", "g", 21);
            palabras[12] = new Reservada("CONSTRAINT", "b", 22);
            palabras[13] = new Reservada("KEY", "k", 23);
            palabras[14] = new Reservada("PRIMARY", "p", 24);
            palabras[15] = new Reservada("FOREING", "j", 25);
            palabras[16] = new Reservada("REFERENCES", "l", 26);
            palabras[17] = new Reservada("INSERT", "m", 27);
            palabras[18] = new Reservada("INTO", "q", 28);
            palabras[19] = new Reservada("VALUES", "v", 29);
        }
Exemplo n.º 2
0
        private static Reservada crearReservada(Registro reg)
        {
            Reservada res = null;

            if (reg != null)
            {
                res = new Reservada
                {
                    Reserva = int.Parse(reg.Get(0)),
                    Fila    = int.Parse(reg.Get(1)),
                    Butaca  = int.Parse(reg.Get(2))
                };
            }
            return(res);
        }
Exemplo n.º 3
0
        public TablaLexica(String[] palabras, int[] lineas, TablaIdentificador tablaI, TablaConstante tablaC)
        {
            this.palabras = new Token[palabras.Length];
            //this.palabras[0].reiniciar();
            Token.sNumero = 1;


            // Creando todos los TOKENS
            for (int x = 0; x < palabras.Length; x++)
            {
                //Regex.IsMatch(palabra, @"\d+")
                if (palabras[x] != null && !Regex.IsMatch(palabras[x], @"((\W|^)\s+(\W|$))"))
                {
                    if (palabras[x] != null && Regex.IsMatch(palabras[x], @regexT1))
                    { // Tipo 1 - Reservadas
                        Reservada apuntador = this.darReservada(palabras[x]);
                        if (apuntador != null)
                        {
                            this.palabras[x] = new Token(lineas[x], palabras[x], 1, apuntador.valor);
                        }
                    }
                    else if (palabras[x] != null && Regex.IsMatch(palabras[x], @regexT6))
                    { // Tipo 6 - Cosntantes
                        Constante apuntador = this.darConstante(palabras[x], tablaC);
                        if (apuntador != null)
                        {
                            this.palabras[x] = new Token(lineas[x], "Constante", 6, apuntador.valor);
                        }
                    }
                    else if (palabras[x] != null && Regex.IsMatch(palabras[x], regexT5))
                    { // Tipo 5 - Delimitadores
                        Delimitador apuntador = this.darDelimitador(palabras[x]);
                        if (apuntador != null)
                        {
                            this.palabras[x] = new Token(lineas[x], palabras[x], 5, apuntador.valor);
                        }
                    }
                    else if (palabras[x] != null && Regex.IsMatch(palabras[x], @regexT4))
                    { // Tipo 4 - Identificador
                        Identificador apuntador = this.darIdentificador(palabras[x], tablaI);
                        if (apuntador != null)
                        {
                            this.palabras[x] = new Token(lineas[x], palabras[x], 4, apuntador.valor);
                        }
                    }
                    else if (palabras[x] != null && Regex.IsMatch(palabras[x], @regexT7))
                    { // Tipo 7 - Operadores
                        Operador apuntador = this.darOperador(palabras[x]);
                        this.palabras[x] = new Token(lineas[x], palabras[x], 7, apuntador.valor);
                    }
                    else if (palabras[x] != null && Regex.IsMatch(palabras[x], @regexT8))
                    { // Tipo 8 - Relacionales
                        Relacional apuntador = this.darRelacional(palabras[x]);
                        this.palabras[x] = new Token(lineas[x], palabras[x], 8, apuntador.valor);
                    }
                    else
                    { // Error
                        this.lError = lineas[x];
                        this.error  = true;
                        this.pError = palabras[x];

                        x = palabras.Length;
                    }
                }
            }
        }