Esempio n. 1
0
 private void init(Produccion p)
 {
     this._listProd.Add(p); // agrega la primera prod del estado
     if (this.id == 0)
     {
         p.agregaTokenBusqueda(new Term("$"));
     }
     this.inicializaEdo(p);
     this.verificaProduccionesEdo();
 }
Esempio n. 2
0
 private void init(Produccion p)
 {
     this._listProd.Add(p); // agrega la primera prod del estado
     if (this.id == 0)
     {
         p.agregaTokenBusqueda(new Term("$"));
     }
     this.inicializaEdo(p);
     this.verificaProduccionesEdo();
 }
Esempio n. 3
0
        /// <summary>
        /// Agrega las producciones de inicio del NT recibido
        /// Calculando los tokens de busqueda de cada producción
        /// </summary>
        /// <param name="NT">No Terminal que agregara sus Producciones al estado</param>
        private void agregaProduccionesInicio(NoTerm NT, List <Term> listTokenBusq)
        {
            Produccion prodAux;

            foreach (Produccion p in NT.listProdInicio)
            {
                prodAux = new Produccion(p);
                if (prodAux.listProd[prodAux.punto].GetType().Name.Equals("NoTerm"))
                {
                    listTokenBusq = listTokenBusq.Union(prodAux.regresaPrimeroProd()).ToList();
                }
                prodAux.agregaTokenBusqueda(listTokenBusq);
                this._listProd.Add(prodAux);
            }
        }
Esempio n. 4
0
        /// <summary>
        /// Agrega las producciones de inicio del NT recibido
        /// Calculando los tokens de busqueda de cada producción
        /// </summary>
        /// <param name="NT">No Terminal que agregara sus Producciones al estado</param>
        private void agregaProduccionesInicio(NoTerm NT,List<Term>listTokenBusq)
        {
            Produccion prodAux;

            foreach (Produccion p in NT.listProdInicio)
            {
                prodAux = new Produccion(p);
                if (prodAux.listProd[prodAux.punto].GetType().Name.Equals("NoTerm"))
                {
                    listTokenBusq = listTokenBusq.Union(prodAux.regresaPrimeroProd()).ToList();
                }
                    prodAux.agregaTokenBusqueda(listTokenBusq);
                    this._listProd.Add(prodAux);
            }
        }