ddc
Public Member Functions | Public Attributes | Private Member Functions | List of all members
CAgramtab Class Referenceabstract

#include <agramtab_.h>

Inheritance diagram for CAgramtab:
Inheritance graph
[legend]

Public Member Functions

 CAgramtab ()
 
virtual ~CAgramtab ()
 
virtual CAgramtabLine *& GetLine (size_t LineNo)=0
 
virtual const CAgramtabLineGetLine (size_t LineNo) const =0
 
virtual size_t GetMaxGrmCount () const =0
 
virtual BYTE GetPartOfSpeechesCount () const =0
 
virtual const char * GetPartOfSpeechStr (BYTE i) const =0
 
virtual size_t GetGrammemsCount () const =0
 
virtual const char * GetGrammemStr (size_t i) const =0
 
virtual size_t s2i (const char *s) const =0
 
virtual string i2s (WORD i) const =0
 
virtual const char * GetRegistryString () const =0
 
virtual long GetClauseTypeByName (const char *TypeName) const =0
 
virtual const char * GetClauseNameByType (long type) const =0
 
virtual bool GleicheSubjectPredicate (const char *gram_code1, const char *gram_code2) const =0
 
virtual bool GleicheGenderNumber (const char *gram_code1, const char *gram_code2) const =0
 
virtual const size_t GetClauseTypesCount () const =0
 
virtual bool ProcessPOSAndGrammems (const char *tab_str, BYTE &PartOfSpeech, QWORD &grammems) const
 
virtual bool IsStrongClauseRoot (const DWORD Poses) const =0
 
virtual bool is_month (const char *lemma) const =0
 
virtual bool is_small_number (const char *lemma) const =0
 
virtual bool IsMorphNoun (size_t Poses) const =0
 
virtual bool is_morph_adj (size_t poses) const =0
 
virtual bool is_morph_participle (size_t poses) const =0
 
virtual bool is_morph_pronoun (size_t poses) const =0
 
virtual bool is_morph_pronoun_adjective (size_t poses) const =0
 
virtual bool is_left_noun_modifier (size_t Poses, QWORD grammems) const =0
 
virtual bool is_numeral (size_t poses) const =0
 
virtual bool is_verb_form (size_t poses) const =0
 
virtual bool is_infinitive (size_t poses) const =0
 
virtual bool is_morph_predk (size_t poses) const =0
 
virtual bool is_morph_adv (size_t poses) const =0
 
virtual bool is_morph_personal_pronoun (size_t poses, QWORD grammems) const =0
 
virtual bool is_morph_article (size_t poses) const =0
 
virtual bool IsSimpleParticle (const char *lemma, size_t poses) const =0
 
virtual bool IsSynNoun (size_t Poses, const char *Lemma) const =0
 
virtual bool IsStandardParamAbbr (const char *WordStrUpper) const =0
 
virtual bool GleicheCase (const char *gram_code_noun, const char *gram_code_adj) const =0
 
virtual bool GleicheCaseNumber (const char *gram_code1, const char *gram_code2) const =0
 
virtual QWORD GleicheGenderNumberCase (const char *common_gram_code_noun, const char *gram_code_noun, const char *gram_code_adj) const =0
 
bool LoadFromFile (const char *filename)
 
string RegistryFilename ()
 
bool LoadFromRegistry ()
 
bool LoadFromRegistryAndCheck ()
 
int AreEqualPartOfSpeech (char *grm1, char *grm2)
 
bool ProcessPOSAndGrammemsIfCan (const char *tab_str, BYTE *PartOfSpeech, QWORD *grammems) const
 
char * grammems_to_str (QWORD grammems, char *out_buf) const
 
bool FindGrammems (const char *gram_codes, QWORD grammems) const
 
bool GetGramCodeByGrammemsAndPartofSpeechIfCan (BYTE Pos, QWORD grammems, string &gramcodes) const
 
bool GetPartOfSpeechAndGrammems (const BYTE *AnCodes, DWORD &Poses, QWORD &Grammems) const
 
string GrammemsToStr (QWORD grammems) const
 
string GetTabStringByGramCode (const char *gram_code) const
 
BYTE GetPartOfSpeech (const char *gram_code) const
 
QWORD GetAllGrammems (const char *gram_code) const
 
size_t GetSourceLineNo (const char *gram_code) const
 
QWORD GetAllGrammemsThatContains (const char *gram_code) const
 
bool GetGrammems (const char *gram_code, QWORD &grammems) const
 
BYTE GetFirstPartOfSpeech (const DWORD poses) const
 
string GetAllPossibleAncodes (BYTE pos, QWORD grammems) const
 
QWORD Gleiche (GrammemCompare CompareFunc, const char *gram_codes1, const char *gram_codes2) const
 
string GleicheAncode1 (GrammemCompare CompareFunc, const char *gram_codes1, const char *gram_codes2) const
 

Public Attributes

bool m_bInited
 

Private Member Functions

bool Read (const char *FileName)
 
bool ReadAndCheck (const char *FileName)
 

Constructor & Destructor Documentation

◆ CAgramtab()

CAgramtab::CAgramtab ( )

◆ ~CAgramtab()

CAgramtab::~CAgramtab ( )
virtual

Member Function Documentation

◆ Read()

bool CAgramtab::Read ( const char *  FileName)
private

References CAgramtabLine::CAgramtabLine(), GetLine(), and ProcessAgramtabLine().

Here is the call graph for this function:

◆ ReadAndCheck()

bool CAgramtab::ReadAndCheck ( const char *  FileName)
private

References CAgramtabLine::CAgramtabLine(), GetLine(), CAgramtabLine::m_PartOfSpeech, and ProcessAgramtabLine().

Here is the call graph for this function:

◆ GetLine() [1/2]

virtual CAgramtabLine*& CAgramtab::GetLine ( size_t  LineNo)
pure virtual

Implemented in CRusGramTab, CGerGramTab, and CEngGramTab.

Referenced by ConvertToPlural(), and ProcessAgramtabLine().

Here is the caller graph for this function:

◆ GetLine() [2/2]

virtual const CAgramtabLine* CAgramtab::GetLine ( size_t  LineNo) const
pure virtual

Implemented in CRusGramTab, CGerGramTab, and CEngGramTab.

◆ GetMaxGrmCount()

virtual size_t CAgramtab::GetMaxGrmCount ( ) const
pure virtual

Implemented in CRusGramTab, CGerGramTab, and CEngGramTab.

◆ GetPartOfSpeechesCount()

virtual BYTE CAgramtab::GetPartOfSpeechesCount ( ) const
pure virtual

Implemented in CRusGramTab, CGerGramTab, and CEngGramTab.

Referenced by GetTagFromStr(), and MorphoWizard::load_gramtab().

Here is the caller graph for this function:

◆ GetPartOfSpeechStr()

virtual const char* CAgramtab::GetPartOfSpeechStr ( BYTE  i) const
pure virtual

◆ GetGrammemsCount()

virtual size_t CAgramtab::GetGrammemsCount ( ) const
pure virtual

Implemented in CRusGramTab, CGerGramTab, and CEngGramTab.

Referenced by MorphoWizard::load_gramtab().

Here is the caller graph for this function:

◆ GetGrammemStr()

virtual const char* CAgramtab::GetGrammemStr ( size_t  i) const
pure virtual

Implemented in CRusGramTab, CGerGramTab, and CEngGramTab.

Referenced by MorphoWizard::load_gramtab().

Here is the caller graph for this function:

◆ s2i()

virtual size_t CAgramtab::s2i ( const char *  s) const
pure virtual

Implemented in CRusGramTab, CGerGramTab, and CEngGramTab.

Referenced by ConvertToPlural().

Here is the caller graph for this function:

◆ i2s()

virtual string CAgramtab::i2s ( WORD  i) const
pure virtual

Implemented in CGerGramTab, CRusGramTab, and CEngGramTab.

◆ GetRegistryString()

virtual const char* CAgramtab::GetRegistryString ( ) const
pure virtual

Implemented in CGerGramTab, CRusGramTab, and CEngGramTab.

◆ GetClauseTypeByName()

virtual long CAgramtab::GetClauseTypeByName ( const char *  TypeName) const
pure virtual

Implemented in CGerGramTab, CRusGramTab, and CEngGramTab.

◆ GetClauseNameByType()

virtual const char* CAgramtab::GetClauseNameByType ( long  type) const
pure virtual

Implemented in CGerGramTab, CRusGramTab, and CEngGramTab.

◆ GleicheSubjectPredicate()

virtual bool CAgramtab::GleicheSubjectPredicate ( const char *  gram_code1,
const char *  gram_code2 
) const
pure virtual

Implemented in CGerGramTab, CRusGramTab, and CEngGramTab.

◆ GleicheGenderNumber()

virtual bool CAgramtab::GleicheGenderNumber ( const char *  gram_code1,
const char *  gram_code2 
) const
pure virtual

Implemented in CGerGramTab, CRusGramTab, and CEngGramTab.

◆ GetClauseTypesCount()

virtual const size_t CAgramtab::GetClauseTypesCount ( ) const
pure virtual

Implemented in CGerGramTab, CRusGramTab, and CEngGramTab.

◆ ProcessPOSAndGrammems()

bool CAgramtab::ProcessPOSAndGrammems ( const char *  tab_str,
BYTE PartOfSpeech,
QWORD grammems 
) const
virtual

Reimplemented in CRusGramTab.

References _QM, GetTagFromStr(), UnknownPartOfSpeech, and StringTokenizer::val().

Referenced by GetParadigmByGroups(), ProcessAgramtabLine(), and CRusGramTab::ProcessPOSAndGrammems().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsStrongClauseRoot()

virtual bool CAgramtab::IsStrongClauseRoot ( const DWORD  Poses) const
pure virtual

Implemented in CGerGramTab, CRusGramTab, and CEngGramTab.

◆ is_month()

virtual bool CAgramtab::is_month ( const char *  lemma) const
pure virtual

Implemented in CGerGramTab, CRusGramTab, and CEngGramTab.

◆ is_small_number()

virtual bool CAgramtab::is_small_number ( const char *  lemma) const
pure virtual

Implemented in CGerGramTab, CRusGramTab, and CEngGramTab.

◆ IsMorphNoun()

virtual bool CAgramtab::IsMorphNoun ( size_t  Poses) const
pure virtual

Implemented in CGerGramTab, CRusGramTab, and CEngGramTab.

◆ is_morph_adj()

virtual bool CAgramtab::is_morph_adj ( size_t  poses) const
pure virtual

Implemented in CGerGramTab, CRusGramTab, and CEngGramTab.

◆ is_morph_participle()

virtual bool CAgramtab::is_morph_participle ( size_t  poses) const
pure virtual

Implemented in CGerGramTab, CRusGramTab, and CEngGramTab.

◆ is_morph_pronoun()

virtual bool CAgramtab::is_morph_pronoun ( size_t  poses) const
pure virtual

Implemented in CGerGramTab, CRusGramTab, and CEngGramTab.

◆ is_morph_pronoun_adjective()

virtual bool CAgramtab::is_morph_pronoun_adjective ( size_t  poses) const
pure virtual

Implemented in CGerGramTab, CRusGramTab, and CEngGramTab.

◆ is_left_noun_modifier()

virtual bool CAgramtab::is_left_noun_modifier ( size_t  Poses,
QWORD  grammems 
) const
pure virtual

Implemented in CGerGramTab, CRusGramTab, and CEngGramTab.

◆ is_numeral()

virtual bool CAgramtab::is_numeral ( size_t  poses) const
pure virtual

Implemented in CGerGramTab, CRusGramTab, and CEngGramTab.

◆ is_verb_form()

virtual bool CAgramtab::is_verb_form ( size_t  poses) const
pure virtual

Implemented in CGerGramTab, CRusGramTab, and CEngGramTab.

◆ is_infinitive()

virtual bool CAgramtab::is_infinitive ( size_t  poses) const
pure virtual

Implemented in CGerGramTab, CRusGramTab, and CEngGramTab.

◆ is_morph_predk()

virtual bool CAgramtab::is_morph_predk ( size_t  poses) const
pure virtual

Implemented in CGerGramTab, CRusGramTab, and CEngGramTab.

◆ is_morph_adv()

virtual bool CAgramtab::is_morph_adv ( size_t  poses) const
pure virtual

Implemented in CGerGramTab, CRusGramTab, and CEngGramTab.

◆ is_morph_personal_pronoun()

virtual bool CAgramtab::is_morph_personal_pronoun ( size_t  poses,
QWORD  grammems 
) const
pure virtual

Implemented in CGerGramTab, CRusGramTab, and CEngGramTab.

◆ is_morph_article()

virtual bool CAgramtab::is_morph_article ( size_t  poses) const
pure virtual

Implemented in CGerGramTab, CRusGramTab, and CEngGramTab.

◆ IsSimpleParticle()

virtual bool CAgramtab::IsSimpleParticle ( const char *  lemma,
size_t  poses 
) const
pure virtual

Implemented in CGerGramTab, CRusGramTab, and CEngGramTab.

◆ IsSynNoun()

virtual bool CAgramtab::IsSynNoun ( size_t  Poses,
const char *  Lemma 
) const
pure virtual

Implemented in CGerGramTab, CRusGramTab, and CEngGramTab.

◆ IsStandardParamAbbr()

virtual bool CAgramtab::IsStandardParamAbbr ( const char *  WordStrUpper) const
pure virtual

Implemented in CGerGramTab, CRusGramTab, and CEngGramTab.

◆ GleicheCase()

virtual bool CAgramtab::GleicheCase ( const char *  gram_code_noun,
const char *  gram_code_adj 
) const
pure virtual

Implemented in CGerGramTab, CRusGramTab, and CEngGramTab.

◆ GleicheCaseNumber()

virtual bool CAgramtab::GleicheCaseNumber ( const char *  gram_code1,
const char *  gram_code2 
) const
pure virtual

Implemented in CGerGramTab, CRusGramTab, and CEngGramTab.

◆ GleicheGenderNumberCase()

virtual QWORD CAgramtab::GleicheGenderNumberCase ( const char *  common_gram_code_noun,
const char *  gram_code_noun,
const char *  gram_code_adj 
) const
pure virtual

Implemented in CGerGramTab, CRusGramTab, and CEngGramTab.

◆ LoadFromFile()

bool CAgramtab::LoadFromFile ( const char *  filename)

load from user-specified file

Referenced by MorphoWizard::load_gramtab().

Here is the caller graph for this function:

◆ RegistryFilename()

string CAgramtab::RegistryFilename ( )

get regisry-dependent default filename

References GetRegistryString().

Referenced by MorphoWizard::load_gramtab().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ LoadFromRegistry()

bool CAgramtab::LoadFromRegistry ( )

load from default registry file ::GetRegistryString(GetRegistryString())

Referenced by MorphoWizard::load_gramtab().

Here is the caller graph for this function:

◆ LoadFromRegistryAndCheck()

bool CAgramtab::LoadFromRegistryAndCheck ( )

◆ AreEqualPartOfSpeech()

int CAgramtab::AreEqualPartOfSpeech ( char *  grm1,
char *  grm2 
)

References GetLine().

Here is the call graph for this function:

◆ ProcessPOSAndGrammemsIfCan()

bool CAgramtab::ProcessPOSAndGrammemsIfCan ( const char *  tab_str,
BYTE PartOfSpeech,
QWORD grammems 
) const

Referenced by MorphoWizard::find_lemm_by_grammem(), and MorphoWizard::slf2ancode().

Here is the caller graph for this function:

◆ grammems_to_str()

char * CAgramtab::grammems_to_str ( QWORD  grammems,
char *  out_buf 
) const

References _QM, and GrammemsCount.

◆ FindGrammems()

bool CAgramtab::FindGrammems ( const char *  gram_codes,
QWORD  grammems 
) const

References GetLine(), and CAgramtabLine::m_Grammems.

Here is the call graph for this function:

◆ GetGramCodeByGrammemsAndPartofSpeechIfCan()

bool CAgramtab::GetGramCodeByGrammemsAndPartofSpeechIfCan ( BYTE  Pos,
QWORD  grammems,
string &  gramcodes 
) const

References GetLine(), and CAgramtabLine::m_Grammems.

Referenced by MorphoWizard::slf2ancode().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetPartOfSpeechAndGrammems()

bool CAgramtab::GetPartOfSpeechAndGrammems ( const BYTE AnCodes,
DWORD Poses,
QWORD Grammems 
) const

References GetLine(), CAgramtabLine::m_Grammems, and CAgramtabLine::m_PartOfSpeech.

Referenced by HasGrammem(), HasOneGrammem(), and HasOnlyOneCase().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GrammemsToStr()

string CAgramtab::GrammemsToStr ( QWORD  grammems) const

◆ GetTabStringByGramCode()

string CAgramtab::GetTabStringByGramCode ( const char *  gram_code) const

References Grammems, and UnknownPartOfSpeech.

◆ GetPartOfSpeech()

BYTE CAgramtab::GetPartOfSpeech ( const char *  gram_code) const

References GetLine(), CAgramtabLine::m_PartOfSpeech, and UnknownPartOfSpeech.

Referenced by MorphoWizard::get_pos_string(), GetGramInfoStr(), and GetParadigmFromDictionary().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetAllGrammems()

QWORD CAgramtab::GetAllGrammems ( const char *  gram_code) const

References GetLine().

Referenced by MorphoWizard::get_all_lemma_grammems(), GetGramInfoStr(), GetParadigmFromDictionary(), and GetStringByParadigm().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetSourceLineNo()

size_t CAgramtab::GetSourceLineNo ( const char *  gram_code) const

References GetLine(), and CAgramtabLine::m_SourceLineNo.

Referenced by MorphoWizard::AncodeLess::operator()().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetAllGrammemsThatContains()

QWORD CAgramtab::GetAllGrammemsThatContains ( const char *  gram_code) const

◆ GetGrammems()

bool CAgramtab::GetGrammems ( const char *  gram_code,
QWORD grammems 
) const

References GetLine(), and CAgramtabLine::m_Grammems.

Referenced by MorphoWizard::get_common_grammems_string(), MorphoWizard::get_grammem_string(), and MorphoWizard::load_gramtab().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetFirstPartOfSpeech()

BYTE CAgramtab::GetFirstPartOfSpeech ( const DWORD  poses) const

◆ GetAllPossibleAncodes()

string CAgramtab::GetAllPossibleAncodes ( BYTE  pos,
QWORD  grammems 
) const

References GetLine(), CAgramtabLine::m_Grammems, and CAgramtabLine::m_PartOfSpeech.

Referenced by ConvertToPlural(), MorphoWizard::find_lemm_by_grammem(), and MorphoWizard::load_gramtab().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Gleiche()

QWORD CAgramtab::Gleiche ( GrammemCompare  CompareFunc,
const char *  gram_codes1,
const char *  gram_codes2 
) const

◆ GleicheAncode1()

string CAgramtab::GleicheAncode1 ( GrammemCompare  CompareFunc,
const char *  gram_codes1,
const char *  gram_codes2 
) const

References GetLine().

Referenced by CommonCase(), CommonCaseNumberGender(), MixedDeclAssignFunction2(), MixedDeclAssignFunction3(), StrongDeclAssignFunction(), WeakDeclAssignFunction2(), and WeakDeclAssignFunction3().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ m_bInited

bool CAgramtab::m_bInited

The documentation for this class was generated from the following files: