[nzemberek commit] r102 - branches/1.0.x/NZemberek.Cekirdek/Yapi

5 views
Skip to first unread message

codesite...@google.com

unread,
Jan 23, 2009, 5:33:39 PM1/23/09
to nzembere...@googlegroups.com
Author: spinodal
Date: Fri Jan 23 12:56:35 2009
New Revision: 102

Modified:
branches/1.0.x/NZemberek.Cekirdek/Yapi/Kok.cs
branches/1.0.x/NZemberek.Cekirdek/Yapi/KokOzelDurumu.cs

Log:
Ufak saçma düzeltmeler.Bir denemye girişmeden önce kaybolmasın diye...

Modified: branches/1.0.x/NZemberek.Cekirdek/Yapi/Kok.cs
==============================================================================
--- branches/1.0.x/NZemberek.Cekirdek/Yapi/Kok.cs (original)
+++ branches/1.0.x/NZemberek.Cekirdek/Yapi/Kok.cs Fri Jan 23 12:56:35 2009
@@ -23,7 +23,6 @@
* Tankut Tekeli
* ***** END LICENSE BLOCK ***** */

-// V 0.1
using System;
using NZemberek.Cekirdek.Yapi;

@@ -33,22 +32,27 @@
{
private static readonly KokOzelDurumu[] BOS_OZEL_DURUM_DIZISI =
new KokOzelDurumu[0];

-
private int indeks;
- // Eger bir kok icinde Alfabe disi karakter barindiriyorsa (nokta,
tire gibi) orjinal hali bu
- // String icinde yer alir. Aksi halde null.
+ /// <summary>
+ /// Eger bir kok icinde Alfabe disi karakter barindiriyorsa
(nokta, tire gibi) orjinal hali bu
+ /// String icinde yer alir. Aksi halde null.
+ /// </summary>
private String asil_Renamed_Field;
- // bazi kisaltmalara ek eklenebilmesi icin kisaltmanin asil
halinin son seslisine ihtiyac duyulur.
+ /// <summary>
+ /// Bazi kisaltmalara ek eklenebilmesi icin kisaltmanin asil
halinin son seslisine ihtiyac duyulur.
+ /// </summary>
private char kisaltmaSonSeslisi = char.MinValue;
- // Kok'un ozel karakterlerden tmeizlenmis hali. Genel olarak kok
icerigi olarak bu String kullanilir.
+ /// <summary>
+ /// Kok'un ozel karakterlerden temizlenmis hali. Genelde kok
icerigi olarak bu String kullanilir.
+ /// </summary>
private System.String _icerik;

+ private bool yapiBozucuOzelDurumVar = false;
private KelimeTipi _tip = KelimeTipi.YOK;
-
private string[] kokOzelDurumlari = new string[] { };
-
private int frekans;
-
+
+ #region Properties
public KelimeTipi Tip
{
get
@@ -61,7 +65,7 @@
}

}
- public System.String Icerik
+ public String Icerik
{
get
{
@@ -122,20 +126,48 @@
{
this.kisaltmaSonSeslisi = value;
}
-
- }

+ }
+ public virtual bool YapiBozucuOzelDurumVar
+ {
+ get { return yapiBozucuOzelDurumVar; }
+ set { yapiBozucuOzelDurumVar = value; }
+ }
+ #endregion
+
+ public Kok(String icerik)
+ {
+ this._icerik = icerik;
+ }
+ public Kok(String icerik, KelimeTipi tip)
+ {
+ this._icerik = icerik;
+ this._tip = tip;
+ }

+ /// <summary>
+ /// Kokun ozel durumu olup olmadigini doner
+ /// </summary>
+ /// <returns></returns>
public bool OzelDurumVarmi()
{
return kokOzelDurumlari.Length > 0;
}

+ /// <summary>
+ /// Tum ozel durumlari doner.
+ /// </summary>
+ /// <returns></returns>
public string[] KokOzelDurumlariGetir()
{
return kokOzelDurumlari;
}

+ /// <summary>
+ /// Kokun ozel durumu icerip icermedigini doner
+ /// </summary>
+ /// <param name="ad">sorulan ozel durum</param>
+ /// <returns></returns>
public bool OzelDurumIceriyormu(string ad)
{
foreach (string durum in kokOzelDurumlari)
@@ -147,7 +179,7 @@
}

/// <summary>
- /// koke ozel durum ekler. burada dizi kullaniminda kaynak
konusunda cimrilik ettigimizden
+ /// Koke ozel durum ekler. burada dizi kullaniminda kaynak
konusunda cimrilik ettigimizden
/// her yeni ozel durum icin dizi boyutunu bir buyuttuk. ayrica tekrar
olmamasini da sagliyoruz.
/// Normalde bu islem Set icin cok daha kolay bir yapida olabilirdi
set.add() ancak Set'in kaynak tuketimi
/// diziden daha fazla.
@@ -175,11 +207,10 @@
}
}

- /// <summary> sadece ilk acilista kullanilan bir metod
- ///
+ /// <summary>
+ /// Sadece ilk acilista kullanilan bir metod
/// </summary>
- /// <param name="Tip">
- /// </param>
+ /// <param name="Tip"></param>
public virtual void OzelDurumCikar(string ozelDurum)
{
if (!OzelDurumIceriyormu(ozelDurum))
@@ -193,18 +224,12 @@
}
this.kokOzelDurumlari = yeni;
}
-
- public Kok(System.String icerik)
- {
- this._icerik = icerik;
- }
-
- public Kok(System.String icerik, KelimeTipi tip)
- {
- this._icerik = icerik;
- this._tip = tip;
- }
-
+
+ protected bool TipVarmi()
+ {
+ return (_tip != KelimeTipi.YOK);
+ }
+
public override String ToString()
{
System.String strOzel = "";
@@ -216,14 +241,6 @@
return _icerik + " " + _tip + " " + strOzel;
}

- private bool yapiBozucuOzelDurumVar = false;
- public virtual bool YapiBozucuOzelDurumVar
- {
- get { return yapiBozucuOzelDurumVar; }
- set { yapiBozucuOzelDurumVar = value; }
- }
-
-
public override bool Equals(System.Object o)
{
if (this == o)
@@ -251,10 +268,5 @@
result = 29 * result + (kokOzelDurumlari != null ?
kokOzelDurumlari.GetHashCode() : 0);
return result;
}
-
- protected bool TipVarmi()
- {
- return (_tip != KelimeTipi.YOK);
- }
}
}

Modified: branches/1.0.x/NZemberek.Cekirdek/Yapi/KokOzelDurumu.cs
==============================================================================
--- branches/1.0.x/NZemberek.Cekirdek/Yapi/KokOzelDurumu.cs (original)
+++ branches/1.0.x/NZemberek.Cekirdek/Yapi/KokOzelDurumu.cs Fri Jan 23
12:56:35 2009
@@ -27,154 +27,73 @@
using NZemberek.Cekirdek.Yapi;
using NZemberek.Cekirdek.Kolleksiyonlar;

-
namespace NZemberek.Cekirdek.Yapi
{
-
- /// <summary> Koke ilskin ozel durumu ifade eder. kok ozel durumlarinin
farkli ozlelikleri
+ /// <summary>
+ /// Koke ilskin ozel durumu ifade eder. Kok ozel durumlarinin farkli
ozlelikleri
/// bu sinifta belirtilir. Dogrudan uretilmez, once Uretici ic sinifi
olusturulmasi gerekir.
/// </summary>
public class KokOzelDurumu
{
- /// <summary>
- /// Tip bilgisi bu ozel duruma iliskin cesitli kimlik bilgilerini
tasir.
- /// onegin ozel durumun adi, indeksi, ek dizisi gibi.
- /// dile gore farkli Tip gerceklemeleri mevcttur.
- /// </summary>
-// private IKokOzelDurumTipi _tip;
-
-
-
private int indeks;
private string ad;

- public string Ad
- {
- get { return ad; }
- set { ad = value; }
- }
-
- public int Indeks
- {
- get { return indeks; }
- set { indeks = value; }
- }
-
-
-
/// <summary>
/// Kok ozel durumu bir kelime uzerinde ne tur islem yapacak bu
nesne ile belirlenir.
/// </summary>
private IHarfDizisiIslemi _islem;

- /**
- * bazi ozel durumlar sadece bazi eklerin koke eklenmesi ile
olusur. Bu listede
- * bu ekler yer alir.
- */
+ /// <summary>
+ /// Bazi ozel durumlar sadece bazi eklerin koke eklenmesi ile
olusur. Bu listede bu ekler yer alir.
+ /// </summary>
private HashSet<Ek> _gelebilecekEkler = new HashSet<Ek>();

- /**
- * Eger ozel durum kokun yapisini bozuyorsa true.
- */
+ /// <summary>
+ /// Eger ozel durum kokun yapisini bozuyorsa true.
+ /// </summary>
private bool _yapiBozucu = false;

- /**
- * bazi ozel durumlarin olusmasi mevburi degildir. ornegin turkiye
turkceisnde
- * "icerlerde" ve "icerilerde" kelimeleri dogru kabul edilir. Eger
ozel durum
- * bu sekilde ise Secimlik=true olur.
- */
+ /// <summary>
+ /// Bazi ozel durumlarin olusmasi mecburi degildir. Ornegin
Turkiye Turkcesinde
+ /// "icerlerde" ve "icerilerde" kelimeleri dogru kabul edilir.
Eger ozel durum
+ /// bu sekilde ise Secimlik=true olur.
+ /// </summary>
private bool _secimlik = false;

- /**
- * Ek kisitlayici ozel durumlar genellikle kokun yapisini
bozmaktansa kendisinden sonra
- * bazei eklerin gelmesini engeller.
- */
+ /// <summary>
+ /// Ek kisitlayici ozel durumlar genellikle kokun yapisini
bozmaktansa kendisinden sonra
+ /// bazei eklerin gelmesini engeller.
+ /// </summary>
private bool _ekKisitlayici = false;

- /**
- * Cogu kok bozucu ozel durum sadece kendisinden sonra sesli ile
baslayan
- * bir ekin glmesi ile olusur. but bayrak bu tyur ozel durumlar
icin true olur.
- */
+ /// <summary>
+ /// Cogu kok bozucu ozel durum sadece kendisinden sonra sesli ile
baslayan
+ /// bir ekin glmesi ile olusur. but bayrak bu tyur ozel durumlar
icin true olur.
+ /// </summary>
private bool _sesliEkIleOlusur = false;

- /**
- * Cogu kok bozucu ozel durum sadece kendisinden sonra sesli ile
baslayan
- * bir ekin glmesi ile olusur. but bayrak bu tyur ozel durumlar
icin true olur.
- */
+ /// <summary>
+ /// Cogu kok bozucu ozel durum sadece kendisinden sonra sesli ile
baslayan
+ /// bir ekin glmesi ile olusur. but bayrak bu tyur ozel durumlar
icin true olur.
+ /// </summary>
private bool _herZamanOlusur = false;

-
- /**
- * bu sinif KokOzelDurumu uretimi icin kullanilir. Bu sinif
sayesinde
- * hem verilere dogrudan setter erisimi kisitlanir hem de esnek
ilklnedirme saglanir.
- */
- public class Uretici
+ public string Ad
{
+ get { return ad; }
+ set { ad = value; }
+ }

- internal HashSet<Ek> _gelebilecekEkler = new HashSet<Ek>();
- internal bool _sesliEkIleOlusur = false;
- internal bool _yapiBozucu = false;
- internal bool _secimlik = false;
- internal bool _ekKisitlayici = false;
- internal IHarfDizisiIslemi _islem;
- internal int _indeks;
- internal string _ad;
- internal bool _herZamanOlusur = false;
-
- public Uretici(int indeks, string ad, IHarfDizisiIslemi islem)
- {
- _indeks = indeks;
- _ad = ad;
- _islem = islem;
- }
-
- public Uretici GelebilecekEkler(HashSet<Ek> ekler)
- {
- this._gelebilecekEkler = ekler;
- return this;
- }
-
- public Uretici SesliEkIleOlusur(bool deger)
- {
- this._sesliEkIleOlusur = deger;
- return this;
- }
-
- public Uretici YapiBozucu(bool yapiBozucu)
- {
- this._yapiBozucu = yapiBozucu;
- return this;
- }
-
- public Uretici Secimlik(bool secimlik)
- {
- this._secimlik = secimlik;
- return this;
- }
-
- public Uretici EkKisitlayici(bool ekKisitlayici)
- {
- this._ekKisitlayici = ekKisitlayici;
- return this;
- }
-
- public Uretici HerZamanOlusur(bool herZamanOlusur)
- {
- this._herZamanOlusur = herZamanOlusur;
- return this;
- }
-
- public KokOzelDurumu Uret()
- {
- return new KokOzelDurumu(this);
- }
+ public int Indeks
+ {
+ get { return indeks; }
+ set { indeks = value; }
}

- /**
- * KokOzelDurumu Uretici nesnesi uzerinden uretilir. dogrudan
erisim yoktur.
- *
- * @param Uretici
- */
+ /// <summary>
+ /// KokOzelDurumu Uretici nesnesi uzerinden uretilir. Dogrudan
erisim yoktur.
+ /// </summary>
+ /// <param name="uretici"></param>
private KokOzelDurumu(Uretici uretici)
{
this._gelebilecekEkler = uretici._gelebilecekEkler;
@@ -208,30 +127,25 @@
return _gelebilecekEkler;
}

-
public bool EkKisitlayici()
{
return _ekKisitlayici;
}

- /**
- * giris ile gelen [dizi] Harf dizisine ozel durumu uygular.
- * basit ziyaretci deseni (visitor pattern).
- *
- * @param dizi
- */
+ /// <summary>
+ /// Giris ile gelen [dizi] Harf dizisine ozel durumu uygular.
Basit ziyaretci deseni (visitor pattern).
+ /// </summary>
+ /// <param name="dizi"></param>
public void Uygula(HarfDizisi dizi)
{
_islem.Uygula(dizi);
}

- /**
- * Ozel durum giris parametresi olan ek'in bu ozel durumun
olusmasina
- * izin verip vermeyeegi belirlenir.
- *
- * @param ek
- * @return gelen ek ile bu ozel durum olusabilirse true
- */
+ /// <summary>
+ /// Ozel durum giris parametresi olan ek'in bu ozel durumun
olusmasina izin verip vermeyeegi belirlenir.
+ /// </summary>
+ /// <param name="ek"></param>
+ /// <returns></returns>
public bool Olusabilir(Ek ek)
{
if (_herZamanOlusur)
@@ -241,12 +155,11 @@
return _gelebilecekEkler.Contains(ek);
}

- /**
- * esitlik kiyaslamasi sadece Tip indexi ve Tip adina gore yapilir.
- *
- * @param o
- * @return ayni ise true.
- */
+ /// <summary>
+ /// Esitlik kiyaslamasi sadece Tip indexi ve Tip adina gore
yapilir.
+ /// </summary>
+ /// <param name="o"></param>
+ /// <returns></returns>
public override bool Equals(Object o) {
if (this == o) return true;
if (o == null || GetType() != o.GetType()) return false;
@@ -258,14 +171,78 @@

}

- /**
- * sadece Tip adi ve indeksine gore belirlenir.
- *
- * @return hash code.
- */
+ /// <summary>
+ /// Sadece Tip adi ve indeksine gore belirlenir.
+ /// </summary>
+ /// <returns></returns>
public override int GetHashCode()
{
return ad.GetHashCode() * indeks;
+ }
+
+ /// <summary>
+ /// Bu sinif KokOzelDurumu uretimi icin kullanilir. Bu sinif
sayesinde
+ /// hem verilere dogrudan setter erisimi kisitlanir hem de esnek
ilklendirme saglanir.
+ /// </summary>
+ public class Uretici
+ {
+ internal HashSet<Ek> _gelebilecekEkler = new HashSet<Ek>();
+ internal bool _sesliEkIleOlusur = false;
+ internal bool _yapiBozucu = false;
+ internal bool _secimlik = false;
+ internal bool _ekKisitlayici = false;
+ internal IHarfDizisiIslemi _islem;
+ internal int _indeks;
+ internal string _ad;
+ internal bool _herZamanOlusur = false;
+
+ public Uretici(int indeks, string ad, IHarfDizisiIslemi islem)
+ {
+ _indeks = indeks;
+ _ad = ad;
+ _islem = islem;
+ }
+
+ public Uretici GelebilecekEkler(HashSet<Ek> ekler)
+ {
+ this._gelebilecekEkler = ekler;
+ return this;
+ }
+
+ public Uretici SesliEkIleOlusur(bool deger)
+ {
+ this._sesliEkIleOlusur = deger;
+ return this;
+ }
+
+ public Uretici YapiBozucu(bool yapiBozucu)
+ {
+ this._yapiBozucu = yapiBozucu;
+ return this;
+ }
+
+ public Uretici Secimlik(bool secimlik)
+ {
+ this._secimlik = secimlik;
+ return this;
+ }
+
+ public Uretici EkKisitlayici(bool ekKisitlayici)
+ {
+ this._ekKisitlayici = ekKisitlayici;
+ return this;
+ }
+
+ public Uretici HerZamanOlusur(bool herZamanOlusur)
+ {
+ this._herZamanOlusur = herZamanOlusur;
+ return this;
+ }
+
+ public KokOzelDurumu Uret()
+ {
+ return new KokOzelDurumu(this);
+ }
}
}
}
Reply all
Reply to author
Forward
0 new messages