public override HarfDizisi cozumlemeIcinUret(Kelime kelime, HarfDizisi giris, HarfDizisiKiyaslayici kiyaslayici) { if (this.onEkler.Contains(kelime.sonEk())) return ekUretici.cozumlemeIcinEkUret(kelime.icerik(), giris, _uretimBilesenleri); else return null; }
public override HarfDizisi cozumlemeIcinUret(Kelime kelime, HarfDizisi giris, HarfDizisiKiyaslayici kiyaslayici) { if (kelime.sonEk().ad().Equals(TurkceEkAdlari.FIIL_KOK) && kelime.kok().ozelDurumIceriyormu(TurkceKokOzelDurumTipi.GENIS_ZAMAN)) return ekUretici.cozumlemeIcinEkUret(kelime.icerik(), giris, uretimBilesenleri()); else return null; }
public override HarfDizisi cozumlemeIcinUret(Kelime kelime, HarfDizisi giris, HarfDizisiKiyaslayici kiyaslayici) { TurkceHarf sonSesli = kelime.icerik().sonSesli(); if (sonSesli.charDeger() == 'u' || sonSesli.charDeger() == Alfabe.CHAR_uu) return ekUretici.cozumlemeIcinEkUret(kelime.icerik(), giris, _uretimBilesenleri); else return null; }
public override HarfDizisi cozumlemeIcinUret(Kelime kelime, HarfDizisi giris, HarfDizisiKiyaslayici kiyaslayici) { TurkceHarf son = kelime.sonHarf(); if (son.sesliMi() || ((son.charDeger()=='r') || son.charDeger()==('l')) && kelime.icerik().sesliSayisi() > 1) { return T; } return null; }
public StandartCozumleyici(KokBulucu kokBulucu, HarfDizisiKiyaslayici kiyaslayci, Alfabe alfabe, EkYonetici ekYonetici, CozumlemeYardimcisi yardimci) { this.kokBulucu = kokBulucu; this.harfDizisiKiyaslayici = kiyaslayci; this.ekYonetici = ekYonetici; this.alfabe = alfabe; this.yardimci = yardimci; }
public override HarfDizisi cozumlemeIcinUret(Kelime kelime, HarfDizisi giris, HarfDizisiKiyaslayici kiyaslayici) { if (kiyaslayici == null) return null; // eki olustur. HarfDizisi ek = ekUretici.cozumlemeIcinEkUret(kelime.icerik(), giris, uretimBilesenleri()); TurkceHarf ekHarfi = sesliUretci.sesliBelirleIU(kelime.icerik()); HarfDizisi olusum = new HarfDizisi("yor", alfabe); olusum.ekle(0, ekHarfi); int harfPozisyonu = kelime.boy() + ek.Length; if (kiyaslayici.aradanKiyasla(giris, olusum, harfPozisyonu)) return ek; return null; }
public override HarfDizisi cozumlemeIcinUret(Kelime kelime, HarfDizisi giris, HarfDizisiKiyaslayici kiyaslayici) { HarfDizisi ek = ekUretici.cozumlemeIcinEkUret(kelime.icerik(), giris, _uretimBilesenleri); // XXXX gibi Turkce harf tasimayan stringler icin koruma. // TODO: Daha dogru bir yontem bulunmali. if (ek == null) { return null; } int harfPozisyonu = kelime.boy() + ek.Length; if (giris.harf(harfPozisyonu).sesliMi()) return ek; return null; }
public HarfDizisi cozumlemeIcinUret( Kelime kelime, HarfDizisi giris, HarfDizisiKiyaslayici kiyaslayici) { foreach (EkOzelDurumu ozelDurum in ozelDurumlar) { HarfDizisi ozelDurumSonucu = ozelDurum.cozumlemeIcinUret(kelime, giris, kiyaslayici); if (ozelDurumSonucu != null) { return(ozelDurumSonucu); } } return(ekUretici.cozumlemeIcinEkUret(kelime.icerik(), giris, uretimBilesenleri)); }
public override HarfDizisi cozumlemeIcinUret(Kelime kelime, HarfDizisi giris, HarfDizisiKiyaslayici kiyaslayici) { TurkceHarf son = kelime.sonHarf(); if(son.sesliMi()) return new HarfDizisi(0); HarfDizisi sonuc = new HarfDizisi(); if (kelime.kok().ozelDurumIceriyormu(TurkceKokOzelDurumTipi.FIIL_ARA_SESLI_DUSMESI)) { //eger ara sesli dusmesi olmussa eklenecek seslinin dusen sesliye gore //belirlenmesi gerekir. yani, "kavurmak" koku ve "kavrulmuS" girisini dusunelim, //ara sesli dusmesi ozel durumu nedeniyle "u" harfi kokten duserek "kavr" haline //gelir. Ancak koke bu haliyle edilgenlik ekini eklemeye kalkarsak "kavrIlmIS" //seklinde yanlis bir kelime ortaya cikardi. Bu nedenle burada dusen eke gore hangi // harfin eklenecegi belirleniyor. HarfDizisi kok = new HarfDizisi(kelime.kok().icerik(), alfabe); TurkceHarf kokAsilSesli = kok.sonSesli(); sonuc.ekle(sesliUretici.sesliBelirleIU(kokAsilSesli)); } else sonuc.ekle(sesliUretici.sesliBelirleIU(kelime.icerik())); if (son.Equals(alfabe.harf('l'))) sonuc.ekle(alfabe.harf('n')); else sonuc.ekle(alfabe.harf('l')); return sonuc; }
public override HarfDizisi cozumlemeIcinUret(Kelime kelime, HarfDizisi giris, HarfDizisiKiyaslayici kiyaslayici) { HarfDizisi ek = ekUretici.cozumlemeIcinEkUret(kelime.icerik(), giris, _uretimBilesenleri); // XXXX gibi Turkce harf tasimayan stringler icin koruma. // TODO: Daha dogru bir yontem bulunmali. if (ek == null) { return(null); } int harfPozisyonu = kelime.boy() + ek.Length; if (giris.harf(harfPozisyonu).sesliMi()) { return(ek); } return(null); }
public override HarfDizisi cozumlemeIcinUret(Kelime kelime, HarfDizisi giris, HarfDizisiKiyaslayici kiyaslayici) { TurkceHarf son = kelime.sonHarf(); if (son.sesliMi()) { return(new HarfDizisi(0)); } HarfDizisi sonuc = new HarfDizisi(); if (kelime.kok().ozelDurumIceriyormu(TurkceKokOzelDurumTipi.FIIL_ARA_SESLI_DUSMESI)) { //eger ara sesli dusmesi olmussa eklenecek seslinin dusen sesliye gore //belirlenmesi gerekir. yani, "kavurmak" koku ve "kavrulmuS" girisini dusunelim, //ara sesli dusmesi ozel durumu nedeniyle "u" harfi kokten duserek "kavr" haline //gelir. Ancak koke bu haliyle edilgenlik ekini eklemeye kalkarsak "kavrIlmIS" //seklinde yanlis bir kelime ortaya cikardi. Bu nedenle burada dusen eke gore hangi // harfin eklenecegi belirleniyor. HarfDizisi kok = new HarfDizisi(kelime.kok().icerik(), alfabe); TurkceHarf kokAsilSesli = kok.sonSesli(); sonuc.ekle(sesliUretici.sesliBelirleIU(kokAsilSesli)); } else { sonuc.ekle(sesliUretici.sesliBelirleIU(kelime.icerik())); } if (son.Equals(alfabe.harf('l'))) { sonuc.ekle(alfabe.harf('n')); } else { sonuc.ekle(alfabe.harf('l')); } return(sonuc); }
public abstract HarfDizisi cozumlemeIcinUret(Kelime kelime, HarfDizisi giris, HarfDizisiKiyaslayici kiyaslayici);
public override HarfDizisi cozumlemeIcinUret(Kelime kelime, HarfDizisi giris, HarfDizisiKiyaslayici kiyaslayici) { TurkceHarf sonSesli = kelime.icerik().sonSesli(); if (sonSesli.charDeger() == 'u' || sonSesli.charDeger() == Alfabe.CHAR_uu) { return(ekUretici.cozumlemeIcinEkUret(kelime.icerik(), giris, _uretimBilesenleri)); } else { return(null); } }
public override HarfDizisi cozumlemeIcinUret(Kelime kelime, HarfDizisi giris, HarfDizisiKiyaslayici kiyaslayici) { if(kelime.icerik().sesliSayisi()<2) return ekUretici.cozumlemeIcinEkUret(kelime.icerik(), giris, uretimBilesenleri()); else return null; }
public override HarfDizisi cozumlemeIcinUret(Kelime kelime, HarfDizisi giris, HarfDizisiKiyaslayici kiyaslayici) { if (kelime.gercekEkYok() && kelime.kok().ozelDurumIceriyormu(TurkceKokOzelDurumTipi.SU_OZEL_DURUMU)) { return(ekUretici.cozumlemeIcinEkUret(kelime.icerik(), giris, uretimBilesenleri())); } return(null); }
public override HarfDizisi cozumlemeIcinUret(Kelime kelime, HarfDizisi giris, HarfDizisiKiyaslayici kiyaslayici) { if (kiyaslayici == null) { return(null); } // eki olustur. HarfDizisi ek = ekUretici.cozumlemeIcinEkUret(kelime.icerik(), giris, uretimBilesenleri()); TurkceHarf ekHarfi = sesliUretci.sesliBelirleIU(kelime.icerik()); HarfDizisi olusum = new HarfDizisi("yor", alfabe); olusum.ekle(0, ekHarfi); int harfPozisyonu = kelime.boy() + ek.Length; if (kiyaslayici.aradanKiyasla(giris, olusum, harfPozisyonu)) { return(ek); } return(null); }
public HarfDizisi cozumlemeIcinUret( Kelime kelime, HarfDizisi giris, HarfDizisiKiyaslayici kiyaslayici) { foreach (EkOzelDurumu ozelDurum in ozelDurumlar) { HarfDizisi ozelDurumSonucu = ozelDurum.cozumlemeIcinUret(kelime, giris, kiyaslayici); if (ozelDurumSonucu != null) return ozelDurumSonucu; } return ekUretici.cozumlemeIcinEkUret(kelime.icerik(), giris, uretimBilesenleri); }
public override HarfDizisi cozumlemeIcinUret(Kelime kelime, HarfDizisi giris, HarfDizisiKiyaslayici kiyaslayici) { if (kelime.icerik().sesliSayisi() < 2) { return(ekUretici.cozumlemeIcinEkUret(kelime.icerik(), giris, uretimBilesenleri())); } else { return(null); } }
public override HarfDizisi cozumlemeIcinUret(Kelime kelime, HarfDizisi giris, HarfDizisiKiyaslayici kiyaslayici) { if (this.onEkler.Contains(kelime.sonEk())) { return(ekUretici.cozumlemeIcinEkUret(kelime.icerik(), giris, _uretimBilesenleri)); } else { return(null); } }
public override HarfDizisi cozumlemeIcinUret(Kelime kelime, HarfDizisi giris, HarfDizisiKiyaslayici kiyaslayici) { if(kelime.gercekEkYok() && kelime.kok().ozelDurumIceriyormu(TurkceKokOzelDurumTipi.SU_OZEL_DURUMU)) return ekUretici.cozumlemeIcinEkUret(kelime.icerik(), giris, uretimBilesenleri()); return null; }
public override HarfDizisi cozumlemeIcinUret(Kelime kelime, HarfDizisi giris, HarfDizisiKiyaslayici kiyaslayici) { TurkceHarf son = kelime.sonHarf(); if (son.sesliMi() || ((son.charDeger() == 'r') || son.charDeger() == ('l')) && kelime.icerik().sesliSayisi() > 1) { return(T); } return(null); }
public override HarfDizisi cozumlemeIcinUret(Kelime kelime, HarfDizisi giris, HarfDizisiKiyaslayici kiyaslayici) { if (kelime.sonEk().ad().Equals(TurkceEkAdlari.FIIL_KOK) && kelime.kok().ozelDurumIceriyormu(TurkceKokOzelDurumTipi.GENIS_ZAMAN)) { return(ekUretici.cozumlemeIcinEkUret(kelime.icerik(), giris, uretimBilesenleri())); } else { return(null); } }