ddc
|
#include <MorphAutomBuilder.h>
Public Member Functions | |
CMorphAutomatBuilder (MorphLanguageEnum Language, BYTE AnnotChar) | |
~CMorphAutomatBuilder () | |
void | InitTrie () |
bool | AddStringDaciuk (const string &WordForm) |
void | ClearRegister () |
void | ConvertBuildRelationsToRelations () |
Public Member Functions inherited from CMorphAutomat | |
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) | |
Private Member Functions | |
void | ClearBuildNodes () |
CTrieNodeBuild * | CreateNode () |
void | DeleteNode (CTrieNodeBuild *pNode) |
CTrieNodeBuild * | CloneNode (const CTrieNodeBuild *pPrototype) |
void | UpdateCommonPrefix (const string &WordForm) |
CTrieNodeBuild * | AddSuffix (CTrieNodeBuild *pParentNodeNo, const char *WordForm) |
CTrieNodeBuild * | ReplaceOrRegister (CTrieNodeBuild *pNode) |
void | DeleteFromRegister (CTrieNodeBuild *pNode) |
int | GetFirstConfluenceState () const |
void | UnregisterNode (CTrieNodeBuild *pNode) |
CTrieRegister & | GetRegister (const CTrieNodeBuild *pNode) |
bool | CheckRegister () const |
bool | IsValid () const |
Private Attributes | |
CTrieNodeBuild * | m_pRoot |
CTrieRegister | m_RegisterHash [MaxAlphabetSize+1][MaxAlphabetSize+1] |
vector< CTrieNodeBuild * > | m_Prefix |
vector< CTrieNodeBuild * > | m_DeletedNodes |
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] |
Protected Member Functions inherited from CMorphAutomat | |
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 inherited from CMorphAutomat | |
CMorphAutomNode * | m_pNodes |
size_t | m_NodesCount |
CMorphAutomRelation * | m_pRelations |
size_t | m_RelationsCount |
vector< int > | m_ChildrenCache |
CMorphAutomatBuilder::CMorphAutomatBuilder | ( | MorphLanguageEnum | Language, |
BYTE | AnnotChar | ||
) |
References m_pRoot.
CMorphAutomatBuilder::~CMorphAutomatBuilder | ( | ) |
|
private |
References DeleteNode(), m_DeletedNodes, and m_pRoot.
Referenced by InitTrie(), and ~CMorphAutomatBuilder().
|
private |
References CTrieNodeBuild::Initialize(), and m_DeletedNodes.
Referenced by AddSuffix(), CloneNode(), and InitTrie().
|
private |
References CTrieNodeBuild::m_Children, m_DeletedNodes, CTrieNodeBuild::m_FirstChildNo, CTrieNodeBuild::m_IncomingRelationsCount, and MaxAlphabetSize.
Referenced by ClearBuildNodes(), and ReplaceOrRegister().
|
private |
copying children and incrementing m_IncomingRelationsCount
References CreateNode(), CTrieNodeBuild::m_bFinal, CTrieNodeBuild::m_bRegistered, CTrieNodeBuild::m_Children, CTrieNodeBuild::m_FirstChildNo, CTrieNodeBuild::m_IncomingRelationsCount, CTrieNodeBuild::m_SecondChildNo, MaxAlphabetSize, and CTrieNodeBuild::SetFinal().
Referenced by AddStringDaciuk().
|
private |
References CABCEncoder::m_Alphabet2Code, m_Prefix, and m_pRoot.
Referenced by AddStringDaciuk().
|
private |
References CTrieNodeBuild::AddChild(), CreateNode(), CABCEncoder::m_Alphabet2Code, CTrieNodeBuild::m_bRegistered, ReplaceOrRegister(), and CTrieNodeBuild::SetFinal().
Referenced by AddStringDaciuk().
|
private |
References DeleteNode(), GetRegister(), CTrieNodeBuild::m_bRegistered, CTrieNodeBuild::m_pRegister, and RegisterSize.
Referenced by AddStringDaciuk(), and AddSuffix().
|
private |
|
private |
|
private |
References GetRegister(), CTrieNodeBuild::m_bRegistered, CTrieNodeBuild::m_pRegister, and RegisterSize.
Referenced by AddStringDaciuk().
|
private |
References CTrieNodeBuild::m_FirstChildNo, m_RegisterHash, CTrieNodeBuild::m_SecondChildNo, and MaxAlphabetSize.
Referenced by ReplaceOrRegister(), and UnregisterNode().
|
private |
References CheckRegisterOrder(), CTrieNodeBuild::CheckRegisterRecursive(), CTrieNodeBuild::m_bRegistered, CTrieNodeBuild::m_pRegister, m_pRoot, m_RegisterHash, and MaxAlphabetSize.
Referenced by IsValid().
|
private |
References CTrieNodeBuild::CheckIncomingRelationsCountRecursive(), CheckRegister(), CTrieNodeBuild::GetIncomingRelationsCountRecursive(), and m_pRoot.
void CMorphAutomatBuilder::InitTrie | ( | ) |
References ClearBuildNodes(), ClearRegister(), CreateNode(), and m_pRoot.
Referenced by CMorphDictBuilder::CreateAutomat(), and CMorphDictBuilder::GenPredictIdx().
bool CMorphAutomatBuilder::AddStringDaciuk | ( | const string & | WordForm | ) |
References AddSuffix(), CABCEncoder::CheckABCWithAnnotator(), CloneNode(), GetFirstConfluenceState(), CABCEncoder::m_Alphabet2Code, CABCEncoder::m_AnnotChar, CTrieNodeBuild::m_bRegistered, m_Prefix, CTrieNodeBuild::ModifyChild(), ReplaceOrRegister(), CTrieNodeBuild::SetFinal(), UnregisterNode(), and UpdateCommonPrefix().
Referenced by CMorphDictBuilder::GenPredictIdx().
void CMorphAutomatBuilder::ClearRegister | ( | ) |
References m_pRoot, m_RegisterHash, MaxAlphabetSize, RegisterSize, and CTrieNodeBuild::UnregisterRecursive().
Referenced by CMorphDictBuilder::CreateAutomat(), and InitTrie().
void CMorphAutomatBuilder::ConvertBuildRelationsToRelations | ( | ) |
References CMorphAutomat::Clear(), CMorphAutomRelation::GetChildNo(), CMorphAutomNode::GetChildrenStart(), CMorphAutomRelation::GetRelationalChar(), CMorphAutomNode::IsFinal(), CTrieNodeBuild::m_bFinal, CTrieNodeBuild::m_Children, CABCEncoder::m_Code2Alphabet, CTrieNodeBuild::m_NodeId, CMorphAutomat::m_NodesCount, CMorphAutomat::m_pNodes, CMorphAutomat::m_pRelations, m_pRoot, CMorphAutomat::m_RelationsCount, MaxAlphabetSize, CMorphAutomRelation::SetChildNo(), CMorphAutomNode::SetChildrenStart(), CMorphAutomNode::SetFinal(), CTrieNodeBuild::SetNodeIdNullRecursive(), and CMorphAutomRelation::SetRelationalChar().
Referenced by CMorphDictBuilder::CreateAutomat(), and CMorphDictBuilder::GenPredictIdx().
|
private |
|
private |
Referenced by CheckRegister(), ClearRegister(), and GetRegister().
|
private |
Referenced by AddStringDaciuk(), GetFirstConfluenceState(), and UpdateCommonPrefix().
|
private |
Referenced by ClearBuildNodes(), CreateNode(), and DeleteNode().