public void load_Tranzitii(string linie, int stare) { int a_cui_tranzitie = 0; string[] catre = linie.Split(' '); if (MTranzitii != null) { a_cui_tranzitie = MTranzitii.Count; } for (int i = 0; i < catre.Length; i++) { if (catre[i] != "-") { string[] sub_catre = catre[i].Split('_'); if (sub_catre.Length > 0) { for (int j = 0; j < sub_catre.Length; j++) { var nou = new CTranzitie(sub_catre[j], MStari[stare - 4], MAlfabet[i]); MTranzitii.Add(nou); } } else { var nou = new CTranzitie(catre[i], MStari[stare - 4], MAlfabet[i]); MTranzitii.Add(nou); } } } }
static void Remove_Epsilon(string state, CAutomat automat, string fake_state, CAutomat NonEpsilon) { foreach (CTranzitie Aux_tranz in automat.get_Tranzitii()) { if (state == Aux_tranz.get_dinspre()) { if (Aux_tranz.get_cost() == "e") { Remove_Epsilon(Aux_tranz.get_catre(), automat, fake_state, NonEpsilon); } else { var tranz_noua = new CTranzitie(Aux_tranz.get_catre(), fake_state, Aux_tranz.get_cost()); NonEpsilon.Accept_Tranzitii(tranz_noua); } } } }
public void Accept_Tranzitii(CTranzitie Tranzitie) { MTranzitii.Add(Tranzitie); }