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); } } }
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"]); }
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); }
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(); } }
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(); }
/** * 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); }