public static List <List <ZnakTrake> > UlazniNizovi(String path, List <ZnakTrake> ulazniZnakoviAutomata) { List <List <ZnakTrake> > ulazniNizovi = new List <List <ZnakTrake> >(); List <String> retci = FiletoLines.UcitajRetkeDatoteke(path); foreach (String redak in retci) { List <ZnakTrake> znakovi = new List <ZnakTrake>(); foreach (Char ch in redak) { foreach (ZnakTrake zn in ulazniZnakoviAutomata) { if (zn.Znak == ch.ToString()) { znakovi.Add(zn); break; } } } znakovi.AddRange(dodajTisucuPraznihZnakova(znakovi.Count)); ulazniNizovi.Add(znakovi); } return(ulazniNizovi); }
public static void UcitajAutomatIzDatoteke(String path) { List <String> retciDatoteke = FiletoLines.UcitajRetkeDatoteke(path); TS.SkupStanja = ProcitajStanjeAutomata(retciDatoteke[0]); TS.SkupZnakovaTrake = ProcitajZnakoveTrake(retciDatoteke[1]); TS.PraznaCelija = ProcitajZnakPrazneCelije(retciDatoteke[2]); // Rješenje je u tome da ovdje u ovoj fji upotrijebiš onu prvu referencu TS.PocetnoStanje = PostaviPocetnoStanje(retciDatoteke[3], TS.SkupStanja); TS.SkupPrihvatljivihStnaja = PostaviPrihvatljivaStanja(retciDatoteke[4], TS.SkupStanja); TS.FunkcijePrijelaza = PostaviFunkcijeprijelaza(retciDatoteke); }