Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #34 from dinvlad/master
Added support for Mac OS X
- Loading branch information
Showing
40 changed files
with
3,059 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,136 @@ | ||
#ifndef _AFFIX_HXX_ | ||
#define _AFFIX_HXX_ | ||
|
||
#include "hunvisapi.h" | ||
|
||
#include "atypes.hxx" | ||
#include "baseaffix.hxx" | ||
#include "affixmgr.hxx" | ||
|
||
/* A Prefix Entry */ | ||
|
||
class LIBHUNSPELL_DLL_EXPORTED PfxEntry : protected AffEntry | ||
{ | ||
AffixMgr* pmyMgr; | ||
|
||
PfxEntry * next; | ||
PfxEntry * nexteq; | ||
PfxEntry * nextne; | ||
PfxEntry * flgnxt; | ||
|
||
public: | ||
|
||
PfxEntry(AffixMgr* pmgr, affentry* dp ); | ||
~PfxEntry(); | ||
|
||
inline bool allowCross() { return ((opts & aeXPRODUCT) != 0); } | ||
struct hentry * checkword(const char * word, int len, char in_compound, | ||
const FLAG needflag = FLAG_NULL); | ||
|
||
struct hentry * check_twosfx(const char * word, int len, char in_compound, const FLAG needflag = NULL); | ||
|
||
char * check_morph(const char * word, int len, char in_compound, | ||
const FLAG needflag = FLAG_NULL); | ||
|
||
char * check_twosfx_morph(const char * word, int len, | ||
char in_compound, const FLAG needflag = FLAG_NULL); | ||
|
||
inline FLAG getFlag() { return aflag; } | ||
inline const char * getKey() { return appnd; } | ||
char * add(const char * word, int len); | ||
|
||
inline short getKeyLen() { return appndl; } | ||
|
||
inline const char * getMorph() { return morphcode; } | ||
|
||
inline const unsigned short * getCont() { return contclass; } | ||
inline short getContLen() { return contclasslen; } | ||
|
||
inline PfxEntry * getNext() { return next; } | ||
inline PfxEntry * getNextNE() { return nextne; } | ||
inline PfxEntry * getNextEQ() { return nexteq; } | ||
inline PfxEntry * getFlgNxt() { return flgnxt; } | ||
|
||
inline void setNext(PfxEntry * ptr) { next = ptr; } | ||
inline void setNextNE(PfxEntry * ptr) { nextne = ptr; } | ||
inline void setNextEQ(PfxEntry * ptr) { nexteq = ptr; } | ||
inline void setFlgNxt(PfxEntry * ptr) { flgnxt = ptr; } | ||
|
||
inline char * nextchar(char * p); | ||
inline int test_condition(const char * st); | ||
}; | ||
|
||
|
||
|
||
|
||
/* A Suffix Entry */ | ||
|
||
class LIBHUNSPELL_DLL_EXPORTED SfxEntry : protected AffEntry | ||
{ | ||
AffixMgr* pmyMgr; | ||
char * rappnd; | ||
|
||
SfxEntry * next; | ||
SfxEntry * nexteq; | ||
SfxEntry * nextne; | ||
SfxEntry * flgnxt; | ||
|
||
SfxEntry * l_morph; | ||
SfxEntry * r_morph; | ||
SfxEntry * eq_morph; | ||
|
||
public: | ||
|
||
SfxEntry(AffixMgr* pmgr, affentry* dp ); | ||
~SfxEntry(); | ||
|
||
inline bool allowCross() { return ((opts & aeXPRODUCT) != 0); } | ||
struct hentry * checkword(const char * word, int len, int optflags, | ||
PfxEntry* ppfx, char ** wlst, int maxSug, int * ns, | ||
// const FLAG cclass = FLAG_NULL, const FLAG needflag = FLAG_NULL, char in_compound=IN_CPD_NOT); | ||
const FLAG cclass = FLAG_NULL, const FLAG needflag = FLAG_NULL, const FLAG badflag = 0); | ||
|
||
struct hentry * check_twosfx(const char * word, int len, int optflags, PfxEntry* ppfx, const FLAG needflag = NULL); | ||
|
||
char * check_twosfx_morph(const char * word, int len, int optflags, | ||
PfxEntry* ppfx, const FLAG needflag = FLAG_NULL); | ||
struct hentry * get_next_homonym(struct hentry * he); | ||
struct hentry * get_next_homonym(struct hentry * word, int optflags, PfxEntry* ppfx, | ||
const FLAG cclass, const FLAG needflag); | ||
|
||
|
||
inline FLAG getFlag() { return aflag; } | ||
inline const char * getKey() { return rappnd; } | ||
char * add(const char * word, int len); | ||
|
||
|
||
inline const char * getMorph() { return morphcode; } | ||
|
||
inline const unsigned short * getCont() { return contclass; } | ||
inline short getContLen() { return contclasslen; } | ||
inline const char * getAffix() { return appnd; } | ||
|
||
inline short getKeyLen() { return appndl; } | ||
|
||
inline SfxEntry * getNext() { return next; } | ||
inline SfxEntry * getNextNE() { return nextne; } | ||
inline SfxEntry * getNextEQ() { return nexteq; } | ||
|
||
inline SfxEntry * getLM() { return l_morph; } | ||
inline SfxEntry * getRM() { return r_morph; } | ||
inline SfxEntry * getEQM() { return eq_morph; } | ||
inline SfxEntry * getFlgNxt() { return flgnxt; } | ||
|
||
inline void setNext(SfxEntry * ptr) { next = ptr; } | ||
inline void setNextNE(SfxEntry * ptr) { nextne = ptr; } | ||
inline void setNextEQ(SfxEntry * ptr) { nexteq = ptr; } | ||
inline void setFlgNxt(SfxEntry * ptr) { flgnxt = ptr; } | ||
|
||
inline char * nextchar(char * p); | ||
inline int test_condition(const char * st, const char * begin); | ||
|
||
}; | ||
|
||
#endif | ||
|
||
|
Oops, something went wrong.