public List <Class_nodos> NodosExpresiones() { List <Class_nodos> result = new List <Class_nodos>(); //genero esta lista para separar los id de las expresiones string opera = getDato(); ///agarro el string de expresiones char[] cadena = opera.ToCharArray(); string concatenar = ""; for (int i = 0; i < opera.Length; i++) { if (cadena[i] == '.' || cadena[i] == '|' || cadena[i] == '?' || cadena[i] == '*' || cadena[i] == '+') { if (concatenar.Length > 1) { Class_nodos b = new Class_nodos(); b.setDato(concatenar); result.Add(b); concatenar = ""; } concatenar = "" + cadena[i]; Class_nodos a = new Class_nodos(); a.setDato(concatenar); if (cadena[i] == '|') { a.setId("Binario"); a.setTipoNodo("alter"); } else if (cadena[i] == '.') { a.setId("Binario"); a.setTipoNodo("concatenar"); } else if (cadena[i] == '?') { a.setId("Unario"); a.setTipoNodo("ceroUno"); } else if (cadena[i] == '*') { a.setId("Unario"); a.setTipoNodo("ceroVarios"); } else if (cadena[i] == '+') { a.setId("Unario"); a.setTipoNodo("unoVarios"); } result.Add(a); concatenar = ""; } if (cadena[i] == '"') { if (concatenar.Length > 1) { Class_nodos b = new Class_nodos(); b.setDato(concatenar); result.Add(b); concatenar = ""; } i++; for (int j = 0; j < opera.Length; j++) { if (cadena[i] == '"') { break; } concatenar = concatenar + cadena[i]; i++; } Class_nodos a = new Class_nodos(); a.setDato(concatenar); a.setId("op"); a.setTipoNodo("op"); concatenar = ""; result.Add(a); } if (cadena[i] == '{') { if (concatenar.Length > 1) { Class_nodos b = new Class_nodos(); b.setDato(concatenar); result.Add(b); concatenar = ""; } i++; for (int j = 0; j < opera.Length; j++) { if (cadena[i] == '}') { break; } concatenar = concatenar + cadena[i]; i++; } Class_nodos a = new Class_nodos(); a.setDato(concatenar); a.setId("op"); a.setTipoNodo("op"); concatenar = ""; result.Add(a); } if (cadena[i] != '.' || cadena[i] != '|' || cadena[i] != '?' || cadena[i] != '*' || cadena[i] != '+') { concatenar = concatenar + cadena[i]; } if (cadena[i] == '.' || cadena[i] == '|' || cadena[i] == '?' || cadena[i] == '*' || cadena[i] == '+' || cadena[i] == '}' || cadena[i] == '"') { concatenar = ""; } } return(result); }