Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//////////////////////////////////////////////////
// Copyright (C) 1997, Microsoft Corporation. All Rights Reserved.
//
// File : DICTTYPE.HPP
// Project : project SIK
//////////////////////////////////////////////////
#if !defined __DICTTYPE_HPP
#define __DICTTYPE_HPP 1
class Dict { public: virtual int FindWord(char *w, char &action, char *index) = 0; //For just abstract base class
};
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
class LenDict { HGLOBAL hDict; char *dict; int BUCKETSIZE; int WORDNUM; public: LenDict() {} LenDict(char *tempdict, int bsize, int wordnum) { InitLenDict (tempdict, bsize, wordnum); } void InitLenDict(char *tempdict, int bsize, int wordnum) { dict = tempdict; BUCKETSIZE = bsize; WORDNUM = wordnum; }
int FindWord(char *stem, int &ulspos, int startindex = 0) ; void RestWord(char *stem, int &ulspos, int restindex) ; private: inline int __IsDefStem(int ulspos, int num) { return ((ulspos-num) >= 0) ? 1 : 0; } inline void __DelStemN(char *stem, int &ulspos, int num) { stem[ulspos-num+1] = 0; ulspos -= num; }
};
#endif
|