private void creaProd(string prod) { string[] esplitiado; esplitiado = prod.Split(new string[] { "->" }, StringSplitOptions.None); this._nT = new NoTerm(esplitiado[0]); this.separaTokens(esplitiado[1]); }
public Produccion(Produccion p, List <Term> listaTokenBusq) { this._nT = p.nT; this._listProd = p._listProd; this._listTokenBusq = new List <Term>(listaTokenBusq); this._punto = p._punto; }
private void creaProd(string prod) { string[] esplitiado; esplitiado = prod.Split(new string[]{"->"}, StringSplitOptions.None); this._nT = new NoTerm(esplitiado[0]); this.separaTokens(esplitiado[1]); }
public Produccion(Produccion p,List<Term>listaTokenBusq) { this._nT = p.nT; this._listProd = p._listProd; this._listTokenBusq = new List<Term>(listaTokenBusq); this._punto = p._punto; }
/// <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); } }
/// <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); } }