ddc
|
#include <MorphAutomat.h>
Public Member Functions | |
CMorphAutomat (MorphLanguageEnum Language, BYTE AnnotChar) | |
~CMorphAutomat () | |
bool | Load (string GrammarFileName) |
bool | Save (string GrammarFileName) const |
bool | DumpAllStrings (string FileName) const |
void | GetInnerMorphInfos (const string &Text, size_t TextPos, vector< CAutomAnnotationInner > &Infos) const |
const CMorphAutomRelation * | GetChildren (size_t NodeNo) const |
int | NextNode (int NodeNo, BYTE Child) const |
size_t | GetChildrenCount (size_t NodeNo) const |
const CMorphAutomNode & | GetNode (int NodeNo) const |
DWORD | EncodeMorphAutomatInfo (size_t ModelNo, size_t ItemNo, size_t PrefixNo) const |
void | DecodeMorphAutomatInfo (DWORD Info, size_t &ModelNo, size_t &ItemNo, size_t &PrefixNo) const |
string | GetFirstResult (const string &Text) const |
Public Member Functions inherited from CABCEncoder | |
bool | CheckABCWithAnnotator (const string &WordForm) const |
bool | CheckABCWithoutAnnotator (const string &WordForm) const |
string | EncodeIntToAlphabet (DWORD v) const |
DWORD | DecodeFromAlphabet (const string &v) const |
string | GetCriticalNounLetterPack () const |
CABCEncoder (MorphLanguageEnum Language, BYTE AnnotChar) | |
Protected Member Functions | |
void | DumpAllStringsRecursive (FILE *fp, int NodeNo, string CurrPath) const |
void | BuildChildrenCache () |
void | GetAllMorphInterpsRecursive (int NodeNo, string &curr_path, vector< CAutomAnnotationInner > &Infos) const |
int | FindStringAndPassAnnotChar (const string &Text, size_t TextPos) const |
void | Clear () |
Protected Attributes | |
CMorphAutomNode * | m_pNodes |
size_t | m_NodesCount |
CMorphAutomRelation * | m_pRelations |
size_t | m_RelationsCount |
vector< int > | m_ChildrenCache |
Additional Inherited Members | |
Public Attributes inherited from CABCEncoder | |
MorphLanguageEnum | m_Language |
const BYTE | m_AnnotChar |
int | m_AlphabetSize |
int | m_Alphabet2Code [256] |
int | m_Code2Alphabet [MaxAlphabetSize] |
int | m_AlphabetSizeWithoutAnnotator |
int | m_Alphabet2CodeWithoutAnnotator [256] |
int | m_Code2AlphabetWithoutAnnotator [MaxAlphabetSize] |
CMorphAutomat::CMorphAutomat | ( | MorphLanguageEnum | Language, |
BYTE | AnnotChar | ||
) |
References m_NodesCount, m_pNodes, m_pRelations, and m_RelationsCount.
CMorphAutomat::~CMorphAutomat | ( | ) |
|
protected |
References CMorphAutomRelation::GetChildNo(), GetChildren(), GetChildrenCount(), CMorphAutomRelation::GetRelationalChar(), and m_pNodes.
Referenced by DumpAllStrings().
|
protected |
References ChildrenCacheSize, CMorphAutomRelation::GetChildNo(), GetChildrenCount(), CMorphAutomNode::GetChildrenStart(), CMorphAutomRelation::GetRelationalChar(), CABCEncoder::m_Alphabet2Code, m_ChildrenCache, m_NodesCount, m_pNodes, m_pRelations, and MaxAlphabetSize.
Referenced by Load().
|
protected |
References CABCEncoder::DecodeFromAlphabet(), DecodeMorphAutomatInfo(), CMorphAutomRelation::GetChildNo(), GetChildren(), GetChildrenCount(), CMorphAutomRelation::GetRelationalChar(), CMorphAutomNode::IsFinal(), CAutomAnnotationInner::m_ItemNo, CAutomAnnotationInner::m_ModelNo, m_pNodes, and CAutomAnnotationInner::m_PrefixNo.
Referenced by GetInnerMorphInfos().
|
protected |
References CABCEncoder::m_AnnotChar, and NextNode().
Referenced by GetFirstResult(), and GetInnerMorphInfos().
|
protected |
References m_NodesCount, m_pNodes, m_pRelations, and m_RelationsCount.
Referenced by CMorphAutomatBuilder::ConvertBuildRelationsToRelations(), Load(), and ~CMorphAutomat().
bool CMorphAutomat::Load | ( | string | GrammarFileName | ) |
References BuildChildrenCache(), Clear(), ErrorMessage(), Format(), GetStringByLanguage(), CABCEncoder::m_Alphabet2Code, CABCEncoder::m_Language, m_NodesCount, m_pNodes, m_pRelations, and m_RelationsCount.
Referenced by CPredictBase::Load(), and CMorphDict::Load().
bool CMorphAutomat::Save | ( | string | GrammarFileName | ) | const |
References ErrorMessage(), Format(), CABCEncoder::m_Alphabet2Code, m_NodesCount, m_pNodes, m_pRelations, and m_RelationsCount.
Referenced by CMorphDictBuilder::GenPredictIdx(), and CMorphDict::Save().
bool CMorphAutomat::DumpAllStrings | ( | string | FileName | ) | const |
void CMorphAutomat::GetInnerMorphInfos | ( | const string & | Text, |
size_t | TextPos, | ||
vector< CAutomAnnotationInner > & | Infos | ||
) | const |
References FindStringAndPassAnnotChar(), and GetAllMorphInterpsRecursive().
Referenced by CLemmatizer::LemmatizeWord(), and CMorphDict::PredictBySuffix().
const CMorphAutomRelation * CMorphAutomat::GetChildren | ( | size_t | NodeNo | ) | const |
References CMorphAutomNode::GetChildrenStart(), m_pNodes, and m_pRelations.
Referenced by DumpAllStringsRecursive(), CPredictBase::FindRecursive(), GetAllMorphInterpsRecursive(), and GetFirstResult().
int CMorphAutomat::NextNode | ( | int | NodeNo, |
BYTE | Child | ||
) | const |
References ChildrenCacheSize, CMorphAutomRelation::GetChildNo(), GetChildrenCount(), CMorphAutomNode::GetChildrenStart(), CMorphAutomRelation::GetRelationalChar(), CABCEncoder::m_Alphabet2Code, m_ChildrenCache, m_pNodes, m_pRelations, and MaxAlphabetSize.
Referenced by CPredictBase::Find(), and FindStringAndPassAnnotChar().
size_t CMorphAutomat::GetChildrenCount | ( | size_t | NodeNo | ) | const |
References CMorphAutomNode::GetChildrenStart(), m_NodesCount, m_pNodes, and m_RelationsCount.
Referenced by BuildChildrenCache(), DumpAllStringsRecursive(), CPredictBase::FindRecursive(), GetAllMorphInterpsRecursive(), and NextNode().
|
inline |
DWORD CMorphAutomat::EncodeMorphAutomatInfo | ( | size_t | ModelNo, |
size_t | ItemNo, | ||
size_t | PrefixNo | ||
) | const |
void CMorphAutomat::DecodeMorphAutomatInfo | ( | DWORD | Info, |
size_t & | ModelNo, | ||
size_t & | ItemNo, | ||
size_t & | PrefixNo | ||
) | const |
Referenced by CMorphDictBuilder::CreateAutomat(), and GetAllMorphInterpsRecursive().
string CMorphAutomat::GetFirstResult | ( | const string & | Text | ) | const |
References FindStringAndPassAnnotChar(), CMorphAutomRelation::GetChildNo(), GetChildren(), CMorphAutomRelation::GetRelationalChar(), and m_pNodes.
|
protected |
|
protected |
|
protected |
|
protected |
Referenced by Clear(), CMorphAutomat(), CMorphAutomatBuilder::ConvertBuildRelationsToRelations(), GetChildrenCount(), Load(), and Save().
|
protected |
Referenced by BuildChildrenCache(), and NextNode().