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); } } } } }
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)); }