public RastgeleKelimeUretici() {

            DilBilgisi db = new TurkceDilBilgisi(new TurkiyeTurkcesi());
            alfabe = db.alfabe();
            ekYonetici = db.ekler();
            kelimeUretici = new KelimeUretici(alfabe, db.cozumlemeYardimcisi());

            foreach (Kok kok in db.kokler().tumKokler()) {
                if (kok.tip() == KelimeTipi.ISIM) {
                    isimler.Add(kok);
                } else if (kok.tip() == KelimeTipi.FIIL) {
                    fiiller.Add(kok);
                } else if (kok.tip() == KelimeTipi.SIFAT) {
                    sifatlar.Add(kok);
                }
            }
        }
        public static void main(String[] args) 
        {
            Type c = Type.GetType("net.zemberek.tr.yapi.TurkiyeTurkcesi");
            
            DilBilgisi dilBilgisi = new TurkceDilBilgisi((DilAyarlari)Assembly.GetAssembly(Type.GetType("net.zemberek.tr.yapi")).CreateInstance("net.zemberek.tr.yapi.TurkiyeTurkcesi"));
            Alfabe alfabe = dilBilgisi.alfabe();
            KokOkuyucu okuyucu = new IkiliKokOkuyucu("kaynaklar/tr/bilgi/binary-sozluk.bin", dilBilgisi.kokOzelDurumlari());
            AgacSozluk sozluk = new AgacSozluk(okuyucu, alfabe, dilBilgisi.kokOzelDurumlari());
    	    KokAgaciYuruyucu yuruyucu = new KokAgaciYuruyucu(sozluk, new HashedSet<Kok>());
    	    yuruyucu.agaciTara();
            logger.Info(yuruyucu);
	    }