private void cadenas(string cad) { linea = 1; foreach (Match num in Regex.Matches(cad, cadena, RegexOptions.IgnoreCase)) { if (num.Value == "\n") { linea++; } else { objts = new TablaDesimbolos(100, num.Value, "Cadena de texto", linea); PalabrasAnalizadas.Add(objts); } } }
private void comentarioB(string cad) { linea = 1; foreach (Match com in Regex.Matches(cad, comentario2, RegexOptions.IgnoreCase)) { if (com.Value == "\n") { linea++; } else if (com.Value != "\n") { objts = new TablaDesimbolos(105, com.Value, "Comentario de bloque", linea); PalabrasAnalizadas.Add(objts); } } }
private void Operador(string cad) { linea = 1; foreach (Match operador in Regex.Matches(cad, operador, RegexOptions.IgnoreCase)) { if (operador.Value == "\n") { linea++; } int indice = operadores.FindIndex(x => x.Lexema == operador.Value); if (indice >= 0) { objts = new TablaDesimbolos(operadores[indice].Token, operadores[indice].Lexema, operadores[indice].Descripcion, linea); PalabrasAnalizadas.Add(objts); } } }
private void numeros(string cad) { linea = 1; foreach (Match num in Regex.Matches(cad, numero, RegexOptions.IgnoreCase)) { string n = num.Value.Replace('.', ','); if (num.Value == "\n") { linea++; } else if (tieneParteDecimal(double.Parse(n))) { objts = new TablaDesimbolos(102, num.Value, "Numero double", linea); PalabrasAnalizadas.Add(objts); } else { objts = new TablaDesimbolos(101, num.Value, "Numero entero", linea); PalabrasAnalizadas.Add(objts); } } }
private void Reservada(string cad) { linea = 1; foreach (Match identificador in Regex.Matches(cad, ident, RegexOptions.IgnoreCase)) { if (identificador.Value == "\n") { linea++; } int indice = Reservadas.FindIndex(x => x.Lexema == identificador.Value); if (indice >= 0) { objts = new TablaDesimbolos(Reservadas[indice].Token, Reservadas[indice].Lexema, Reservadas[indice].Descripcion, linea); PalabrasAnalizadas.Add(objts); } else if (identificador.Value != " " && identificador.Value != "\n") { objts = new TablaDesimbolos(303, identificador.Value, "Identificador , varibles", linea); PalabrasAnalizadas.Add(objts); } } }