예제 #1
0
        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);
        }
예제 #2
0
        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);
        }