//Metodo para verificar si un simbolo existe public bool existes(string cad, CTK centrada) { NT n; NT org = centrada.buscar(cad); if (org == null) { org = centrada.buscar3(cad); } if (org == null) { org = centrada.buscar4(cad); } if (org == null) { org = centrada.buscar5(cad); } if (org == null) { org = centrada.buscar2(cad); } if (org != null) { n = org.copiar(); ltok.Add(n); return(true); } else { return(false); } }
//Este metodo crea la parte izquierda de la produccion, recibe una cadena de la cual se //extraeran los tokens y una lista de tokens. public bool partiz(string texto, CTK listokens) { ladoIzq = listokens.buscar(texto); if (ladoIzq == null) { ladoIzq = new NT(texto); listokens.agregaToken(ladoIzq); } ladoIzq.NoTerminal(); return(true); }
//Metodo para crear nuevos tokens. public void nuevotok(string stcrear, CTK ctks) { NT nuevo = ctks.buscar(stcrear); if (nuevo != null) { ltok.Add(nuevo); } else { nuevo = new NT(stcrear); ctks.agregaToken(nuevo); ltok.Add(nuevo); } }