コード例 #1
0
        //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);
            }
        }
コード例 #2
0
 //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);
 }
コード例 #3
0
        //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);
            }
        }