public void agregarLiteral(ComponenteLexico componenteLexico)
 {
     if (componenteLexico != null && componenteLexico.tipo.Equals(TipoComponenteLexico.LITERAL))
     {
         obtenerLiteral(componenteLexico.Lexema).Add(componenteLexico);
     }
 }
예제 #2
0
 public void agregarPalabrasReservadas(ComponenteLexico componenteLexico)
 {
     if (componenteLexico != null && componenteLexico.tipo.Equals(TipoComponenteLexico.PALABRA_RESERVADA))
     {
         obtenerPalabrasReservadas(componenteLexico.Lexema).Add(componenteLexico);
     }
 }
 public void agregarDummy(ComponenteLexico componenteLexico)
 {
     if (componenteLexico != null && componenteLexico.tipo.Equals(TipoComponenteLexico.DUMMY))
     {
         obtenerDummy(componenteLexico.Lexema).Add(componenteLexico);
     }
 }
 public void agregarSimbolo(ComponenteLexico componenteLexico)
 {
     if (componenteLexico != null && componenteLexico.tipo.Equals(TipoComponenteLexico.SIMBOLO))
     {
         obtenerSimbolo(componenteLexico.Lexema).Add(componenteLexico);
     }
 }
예제 #5
0
 public void comprobarPalabraReservada(ComponenteLexico componenteLexico)
 {
     if (componenteLexico != null && tablaInicial.ContainsKey(componenteLexico.Lexema.ToUpper()))
     {
         componenteLexico.tipo      = TipoComponenteLexico.PALABRA_RESERVADA;
         componenteLexico.Categoria = tablaInicial[componenteLexico.Lexema.ToUpper()].Categoria;
     }
 }
예제 #6
0
 private TablaPalabrasReservadas()
 {
     //Asi con todas
     tablaInicial.Add("SELECT", ComponenteLexico.Crear("SELECT", "SELECT"));
     tablaInicial.Add("FROM", ComponenteLexico.Crear("FROM", "FROM"));
     tablaInicial.Add("WHERE", ComponenteLexico.Crear("WHERE", "WHERE"));
     tablaInicial.Add("ORDER", ComponenteLexico.Crear("ORDER", "ORDER"));
     tablaInicial.Add("BY", ComponenteLexico.Crear("BY", "BY"));
 }
예제 #7
0
 private TablaPalabrasReservadas()
 {
     //Asi con todas
     tablaInicial.Add("SELECT", ComponenteLexico.Crear("SELECT", "select"));
     tablaInicial.Add("FROM", ComponenteLexico.Crear("FROM", "from"));
     tablaInicial.Add("WHERE", ComponenteLexico.Crear("WHERE", "where"));
     tablaInicial.Add("ORDER", ComponenteLexico.Crear("ORDER", "order"));
     tablaInicial.Add("BY", ComponenteLexico.Crear("BY", "by"));
     tablaInicial.Add("INNER", ComponenteLexico.Crear("INNER", "Inner"));
     tablaInicial.Add("AND", ComponenteLexico.Crear("AND", "And"));
     tablaInicial.Add("OR", ComponenteLexico.Crear("OR", "Or"));
     tablaInicial.Add("JOIN", ComponenteLexico.Crear("JOIN", "Join"));
     tablaInicial.Add("ASC", ComponenteLexico.Crear("ASC", "Asc"));
     tablaInicial.Add("DESC", ComponenteLexico.Crear("DESC", "Desc"));
     tablaInicial.Add("DESC", ComponenteLexico.Crear("DESC", "Desc"));
 }
        public void agregarElemento(ComponenteLexico componenteLexico)
        {
            TablaPalabrasReservadas.obtenerTablaPalabrasReservadas().comprobarPalabraReservada(componenteLexico);

            switch (componenteLexico.tipo)
            {
            case TipoComponenteLexico.DUMMY:
                TablaDummy.obtenerTablaDummy().agregarDummy(componenteLexico);
                break;

            case TipoComponenteLexico.LITERAL:
                TablaLiterales.obtenerTablaLiterales().agregarLiteral(componenteLexico);
                break;

            case TipoComponenteLexico.PALABRA_RESERVADA:
                TablaPalabrasReservadas.obtenerTablaPalabrasReservadas().agregarPalabrasReservadas(componenteLexico);
                break;

            case TipoComponenteLexico.SIMBOLO:
                TablaSimbolos.obtenerTablaSimbolos().agregarSimbolo(componenteLexico);
                break;
            }
        }