コード例 #1
0
        public void initialize()
        {
            //kodlama karsiliklari dosyasini oku
            StreamReader reader = new KaynakYukleyici().getReader("kaynaklar/tr/bilgi/kodlama-donusum.txt");
            String       s;

            while ((s = reader.ReadLine()) != null)
            {
                // bos ve # isaretli satirlari atla
                if (s.Length == 0 || s[0] == '#')
                {
                    continue;
                }
                s = toNative(s);
                Char c = s[0];

                //satirdan turkce karaktere karsilik duzen kod cekiliyor. ve bu kod map'a yerletiriliyor
                String kod = s.Substring(2);
                if (donusumler.ContainsKey(c))
                {
                    IList a = donusumler[c];
                    a.Add(kod);
                }
                else
                {
                    IList yeni = new ArrayList();
                    yeni.Add(kod);
                    donusumler.Add(c, yeni);
                }
            }
        }
コード例 #2
0
        public void testKodlamaliKaynakYuklyici()
        {
            IDictionary <String, String> harfler = new KaynakYukleyici().kodlamaliOzellikDosyasiOku(String.Format("kaynaklar{0}tr{1}test{2}test_harf_tr.txt", Path.DirectorySeparatorChar, Path.DirectorySeparatorChar, Path.DirectorySeparatorChar));
            String test = "e,i,ö,ü";

            Assert.AreEqual(test, harfler["ince-sesli"]);
        }
コード例 #3
0
        public Alfabe(String dosyaAdi, String localeStr)
        {
            IDictionary <String, String> harfOzellikleri;

            harfOzellikleri = new KaynakYukleyici().kodlamaliOzellikDosyasiOku(dosyaAdi);
            this.locale     = new System.Globalization.CultureInfo(localeStr);
            diziInit();
            harfBilgisiOlustur(harfOzellikleri);
        }
コード例 #4
0
        public BasitDenetlemeCebi(String dosyaAdi)
        {
            StreamReader rd = new KaynakYukleyici("UTF-8").getReader(dosyaAdi);

            try
            {
                cep = new HashedSet <String>();
                while (!rd.EndOfStream)
                {
                    ekle(rd.ReadLine());
                }
            }
            finally
            {
                rd.Close();
            }
        }
コード例 #5
0
        public void testUretici()
        {
            EkUretici uretici = new EkUreticiTr(alfabe);

            StreamReader reader = new KaynakYukleyici().getReader("kaynaklar/tr/test/ek_olusum.txt");
            String       s;

            while ((s = reader.ReadLine()) != null)
            {
                if (s.StartsWith("#") || s.Trim().Length == 0)
                {
                    continue;
                }
                String   kuralKelimesi = s.Substring(0, s.IndexOf(':'));
                String[] olusumlar     = s.Substring(s.IndexOf(':') + 1).Trim().Split(' ');
                //System.Console.WriteLine("okunan kelime:" + kuralKelimesi + " olusumlar:" + olusumlar.ToString());
                olusumTesti(kuralKelimesi, olusumlar);
            }
            reader.Close();
        }
コード例 #6
0
        /**
         * Sozluk, daha dogrusu Kokleri tasiyan agac ve iliskili kok secicileri tasiyan nesneyi uretir
         * Proje gelistirime asamasinda, eger ikili kok-sozluk dosyasi (kokler_xx.bin) dosyasi mevcut
         * degilse once onu uretmeye calisir, daha sonra asil sozluk uretim islemini yapar.
         * Normal kosullarda dagitim jar icerisinde bu dosya yer alacagindan bu islem (bin dosya uretimi) atlanir.
         *
         * @return Sozluk
         */
        public Sozluk kokler()
        {
            if (sozluk != null)
            {
                return(sozluk);
            }

            if (!KaynakYukleyici.kaynakMevcutmu(kokDosyaAdi))
            {
                logger.Error("Kök dosyası bulunamadı, sozluk uretilemiyor.");
                throw new ApplicationException("Kök dosyası bulunamadı.");

/*                logger.Info("binary kok dosyasi bulunamadi. proje icerisinden calisildigi varsayilarak \n" +
 *                      "calisilan dizine goreceli olarak '" + kokDosyaAdi + "' dosyasi uretilmeye calisacak.\n" +
 *                      "eger duz yazki kok bilgilerine erisim saglanamazsa sistem kok bilgisine uretemeycektir. ");
 *              try {
 *                  ikiliKokDosyasiUret();
 *              } catch (System.IO.IOException e) {
 *                  logger.Fatal("kok bilgilerine erisim saglanamadigindan uygulama calismaya devam edemez. Hata : "+e.Message);
 *                  Environment.Exit(-1);
 *              }*/
            }
            kokOzelDurumlari();
            logger.Info("Ikili okuyucu uretiliyor:");
            try
            {
                KokOkuyucu okuyucu = new IkiliKokOkuyucu(kokDosyaAdi, ozelDurumBilgisi);
                logger.Info("Sozluk ve agac uretiliyor:" + dilAdi);
                okuyucu.Ac();
                sozluk = new AgacSozluk(okuyucu, _alfabe, ozelDurumBilgisi);
            }
            catch (Exception e)
            {
                logger.Error("sozluk uretilemiyor. Hata : " + e.Message);
                throw new ApplicationException("sozluk uretilemiyor. Hata : " + e.Message);
            }
            return(sozluk);
        }