예제 #1
0
        public void testHarfDegistir()
        {
            HarfDizisi kelime = new HarfDizisi("kedicikler", alfabe);

            kelime.harfDegistir(0, alfabe.harf('c'));
            kelime.harfDegistir(3, alfabe.harf('a'));
            Assert.AreEqual(kelime.ToString(), "cedacikler");
        }
예제 #2
0
 public void uygula(HarfDizisi dizi)
 {
     if (dizi.aradanKiyasla(dizi.Length - 2, NK))
     {
         dizi.harfDegistir(dizi.Length - 1, alfabe.harf('g'));
     }
 }
예제 #3
0
        public void kelimeBicimlendir(Kelime kelime)
        {
            Kok        kok    = kelime.kok();
            HarfDizisi olusan = kelime.icerik();

            if (kok.tip().Equals(KelimeTipi.KISALTMA))
            {
                //cozumleme sirasinda eklenmis harf varsa onlari sil.
                int silinecek = kok.icerik().Length;
                if (kok.ozelDurumIceriyormu(TurkceKokOzelDurumTipi.KISALTMA_SON_SESSIZ))
                {
                    silinecek += 2;
                }
                if (kok.ozelDurumIceriyormu(TurkceKokOzelDurumTipi.KISALTMA_SON_SESLI))
                {
                    silinecek++;
                }
                //kelimenin olusan kismindan kokun icereigini sil.
                olusan.harfSil(0, silinecek);
                //simdi kokun orjinal halini ekle.
                olusan.ekle(0, new HarfDizisi(kok.asil(), alfabe));

                if (olusan.Length == kok.asil().Length)
                {
                    return;
                }
                //eger gerekiyorsa kesme isareti koy.
                if (!olusan.harf(kok.asil().Length - 1).Equals(alfabe.harf('.')))
                {
                    olusan.ekle(kok.asil().Length, alfabe.harf('\''));
                }
            }
            else if (kok.tip() == KelimeTipi.OZEL)
            {
                olusan.harfDegistir(0, alfabe.buyukHarf(olusan.ilkHarf()));
                if (kok.ozelDurumIceriyormu(TurkceKokOzelDurumTipi.KESMESIZ))
                {
                    return;
                }
                List <Ek> ekler = kelime.ekler();
                if (ekler.Count > 1)
                {
                    Ek ek = (Ek)ekler[1];
                    if (ek.iyelikEkiMi() || ek.halEkiMi())
                    {
                        int kesmePozisyonu = kok.icerik().Length;
                        olusan.ekle(kesmePozisyonu, alfabe.harf('\''));
                    }
                }
            }
            // ozel ic karakter iceren kokler icin bicimleme

/*        if (kok.ozelDurumlar().contains(TurkceKokOzelDurumlari.OZEL_IC_KARAKTER)) {
 *          //olusan ksimdan koku sil
 *          int silinecek = kok.icerik().length();
 *          olusan.harfSil(0, silinecek);
 *          //simdi kokun orjinal halini ekle.
 *          olusan.ekle(0, new HarfDizisi(kok.asil()));
 *      }*/
        }
예제 #4
0
 /**
 * en son kalin sesli harfi bulup onu ince formu ile degistirir.
 * ornegin saat -> saAt haline donusur. ince a harfi icin TurkceAlfabe sinifini inceleyin
 *
 * @param dizi
 */
 public void uygula(HarfDizisi dizi)
 {
     for (int i = dizi.Length - 1; i >= 0; i--)
     {
         TurkceHarf h = dizi.harf(i);
         if (h.sesliMi() && !h.inceSesliMi())
         {
             dizi.harfDegistir(i, _alfabe.kalinSesliIncelt(dizi.harf(i)));
         }
     }
 }
예제 #5
0
 /**
  * en son kalin sesli harfi bulup onu ince formu ile degistirir.
  * ornegin saat -> saAt haline donusur. ince a harfi icin TurkceAlfabe sinifini inceleyin
  *
  * @param dizi
  */
 public void uygula(HarfDizisi dizi)
 {
     for (int i = dizi.Length - 1; i >= 0; i--)
     {
         TurkceHarf h = dizi.harf(i);
         if (h.sesliMi() && !h.inceSesliMi())
         {
             dizi.harfDegistir(i, _alfabe.kalinSesliIncelt(dizi.harf(i)));
         }
     }
 }
예제 #6
0
 public void testHarfDegistir()
 {
     HarfDizisi kelime = new HarfDizisi("kedicikler", alfabe);
     kelime.harfDegistir(0, alfabe.harf('c'));
     kelime.harfDegistir(3, alfabe.harf('a'));
     Assert.AreEqual(kelime.ToString(), "cedacikler");
 }
예제 #7
0
 public void uygula(HarfDizisi dizi) {
     if (dizi.aradanKiyasla(dizi.Length - 2, NK))
         dizi.harfDegistir(dizi.Length - 1, alfabe.harf('g'));
 }