Ejemplo n.º 1
0
        public void emparejar(Tokens.TipoToken tip)
        {
            if (tip == Tokens.TipoToken.PUNTO_y_COMA && ayuda == true)
            {
                ayuda = false;
            }
            if (ayuda == false)
            {
                if (alvAct.getTipo_Token() != tip)
                {
                    ErTks.AddLast(new ErroresTokens(alvAct.getLexema(), "SE ESPERABA " + " " + GetTipString(tip), alvAct.getcolumna(), alvAct.geTfila()));
                    //ERROR si no viene lo que deberia
                    Console.WriteLine("SE ESPERABA " + " " + GetTipString(tip));

                    /*   ER.ErTks.AddLast(new ErroresTokens(alvAct.getLexema(),
                     *     "SE ESPERABA " + " " + GetTipString(tip), alvAct.getcolumna(), alvAct.geTfila()));
                     *
                     */
                    Ayuda();
                }
                else
                {
                    if (cont < ListaTok.Count - 1)
                    {
                        Console.WriteLine("--------" + alvAct.getLexema());
                        if (alvAct.getTipo_Token() == Tokens.TipoToken.PUNTO_y_COMA)
                        {
                            if (ListaTok.ElementAt(cont + 1).getTipo_Token() == Tokens.TipoToken.CREAR ||
                                ListaTok.ElementAt(cont + 1).getTipo_Token() == Tokens.TipoToken.INSERTAR ||
                                ListaTok.ElementAt(cont + 1).getTipo_Token() == Tokens.TipoToken.SELECCIONAR ||
                                ListaTok.ElementAt(cont + 1).getTipo_Token() == Tokens.TipoToken.ACTUALIZAR ||
                                ListaTok.ElementAt(cont + 1).getTipo_Token() == Tokens.TipoToken.ELIMINAR)
                            {
                                //ok
                            }
                            else
                            {
                                if (cont + 1 < ListaTok.Count - 1)
                                {
                                    cont++;
                                    alvAct = ListaTok.ElementAt(cont);

                                    Console.WriteLine("se esperaba" + " " + "INSTRUCCION");
                                    Ayuda();
                                    ayuda = false;
                                }
                            }
                        }
                        if (cont < ListaTok.Count - 1)
                        {
                            cont++;
                            alvAct = ListaTok.ElementAt(cont);
                        }
                    }
                }
            }
        }
Ejemplo n.º 2
0
        public string GetTipString(Tokens.TipoToken tip)

        {
            switch (tip)
            {
            case Tokens.TipoToken.ACTUALIZAR:
                return("Actualizar");

            case Tokens.TipoToken.Asterisco:
                return("*");

            case Tokens.TipoToken.CADENA:
                return("Cadena");

            case Tokens.TipoToken.COMILLA:
                return("COMILLA");

            case Tokens.TipoToken.LAST:
                return("LAST");

            case Tokens.TipoToken.COMA:
                return("COMA");

            case Tokens.TipoToken.COMENTARIO_LINEA:
                return("Comentario de Linea");

            case Tokens.TipoToken.COMENTARIO_MULTILINEA:
                return("Comentario MultiLinea");

            case Tokens.TipoToken.COMO:
                return("COMO");

            case Tokens.TipoToken.CORCHETE_ABIERTO:
                return("[");

            case Tokens.TipoToken.CORCHETE_CERRADO:
                return("]");

            case Tokens.TipoToken.CREAR:
                return("Crear");

            case Tokens.TipoToken.DE:
                return("DE");

            case Tokens.TipoToken.DECIMAL:
                return("DECIMAL");

            case Tokens.TipoToken.DIGITO:
                return("digito");

            case Tokens.TipoToken.DONDE:
                return("DONDE");

            case Tokens.TipoToken.ELIMINAR:
                return("ELIMINAR");


            case Tokens.TipoToken.EN:
                return("EN");

            case Tokens.TipoToken.ENTERO:
                return("Entero");

            case Tokens.TipoToken.ESTABLECER:
                return("Establecer");

            case Tokens.TipoToken.FECHA:
                return("FECHA");

            case Tokens.TipoToken.FECHAS:
                return("FECHAS");

            case Tokens.TipoToken.FLOTANTE:
                return("FLOTANTE");

            case Tokens.TipoToken.ID:
                return("ID");

            case Tokens.TipoToken.IGUAL:
                return("IGUAL");

            case Tokens.TipoToken.INSERTAR:
                return("INSERTAR");

            case Tokens.TipoToken.MAYOR:
                return("MAYOR");

            case Tokens.TipoToken.MAYOR_IGUAL:
                return("MAYOR IGUAL");

            case Tokens.TipoToken.MENOR:
                return("MENOR");

            case Tokens.TipoToken.MENOR_IGUAL:
                return("MENOR IGUAL");

            case Tokens.TipoToken.MODIFICAR:
                return("MODIFICAR");

            case Tokens.TipoToken.O:
                return("O");

            case Tokens.TipoToken.PARENTESIS_ABIERTO:
                return("(");

            case Tokens.TipoToken.PARENTESIS_CERRADO:
                return(")");

            case Tokens.TipoToken.PUNTO:
                return(".");

            case Tokens.TipoToken.PUNTO_y_COMA:
                return(";");

            case Tokens.TipoToken.SELECCIONAR:
                return("Seleccionar");

            case Tokens.TipoToken.TAABLA:
                return("TABLA");

            case Tokens.TipoToken.VALORES:
                return("valores");

            case Tokens.TipoToken.Y:
                return("YYYYY");

            case Tokens.TipoToken.DIFERENTE:
                return("Diferente");

            default:
                return("DESCONOCIDO");
            }
        }
 void Agregar(string Lexema, int Idtoken, string tipo, int fila, int columna, Tokens.TipoToken alb)
 {
     Tks2.AddLast(new Tokens(Lexema, Idtoken, tipo, fila, columna, alb));
 }