codesite...@google.com
unread,Jan 23, 2009, 5:33:39 PM1/23/09Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
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);
+ }
}
}
}