public static void Prijelaz(TS automat, FunkcijePrijelaza prijelaz) { writer.WriteLine(prijelaz); }
private static FunkcijePrijelaza GenerirajPrijelazeZaRedak(string redak) { FunkcijePrijelaza funkcija = new FunkcijePrijelaza(); String[] polje = redak.Split(new String[] { "->" }, StringSplitOptions.None); String lijeviDio = polje[0]; String desniDio = polje[1]; String[] dvojka = lijeviDio.Split(','); Stanje trenutnoStnaje = null; ZnakTrake znakTrake = null; foreach (Stanje st in TS.SkupStanja) { if (st.Ime == dvojka[0]) { trenutnoStnaje = st; } } foreach (ZnakTrake zn in TS.SkupZnakovaTrake) { if (zn.Znak == dvojka[1]) { znakTrake = zn; } } String[] trojka = desniDio.Split(','); Stanje novoStanje = null; ZnakTrake noviZnakTrake = null; foreach (Stanje st in TS.SkupStanja) { if (st.Ime == trojka[0]) { novoStanje = st; } } foreach (ZnakTrake zn in TS.SkupZnakovaTrake) { if (zn.Znak == trojka[1]) { noviZnakTrake = zn; } } if (trojka[2] == "L") { funkcija.Pomak = PomakGlave.Lijevo; } else { funkcija.Pomak = PomakGlave.Desno; } funkcija.TrenutnoStanje = trenutnoStnaje; funkcija.ZnakNaTraci = znakTrake; funkcija.SljedeceStanje = novoStanje; funkcija.ZnakNaTraciNovi = noviZnakTrake; return(funkcija); }