19 #ifndef _INCL_WIZARD_H 20 #define _INCL_WIZARD_H 22 #pragma warning(disable:4786) 23 #pragma warning(disable:4503) 24 #include "../CommonLib/utilit.h" 25 #include "../AgramtabLib/agramtab_.h" 66 typedef multimap<string, CParadigmInfo>
LemmaMap;
114 bool ReadFromString(
const string& s);
115 string ToString()
const;
117 bool IsEmpty()
const;
139 bool ReadFromFile(FILE* fp,
int& line_no,
bool& bError,
string& Errors);
140 bool SaveToFile(FILE* fp)
const;
141 bool SaveHeaderToFile(FILE* fp)
const;
166 void ReadSessions (FILE* fp);
172 bool operator()(
const string &s1,
const string &s2)
const ;
214 bool load_wizard(
const char *path,
const char *user_name,
bool bCreatePrediction=
true);
215 void load_mrd(
bool guest,
bool bCreatePrediction);
217 void load_string_vector(
const string &name,
StringVector &res);
218 string& get_value(
const string &key);
219 void log(
const string &messg);
223 string get_lock_file_name()
const;
224 string get_log_file_name()
const;
225 string get_predict_src_file_path(
int mode)
const;
227 void CreatePredictIndex();
229 WORD GetCurrentSessionNo()
const;
230 size_t del_dup_lemm();
234 string get_pos_string (
const string &code)
const;
238 string get_grammem_string (
const string &code)
const;
243 string get_pos_string_and_grammems (
const string &code)
const;
251 void find_lemm_by_grammem(
const string &pos_and_grammems, vector<lemma_iterator_t> &res);
252 void find_lemm(
string lemm,
bool bCheckLemmaPrefix, vector<lemma_iterator_t> &res);
253 void find_lemm_by_user(
string username, vector<lemma_iterator_t> &res);
254 void find_wordforms(
string lemm, vector<lemma_iterator_t> &res);
255 void find_ancodes(
const string &ancode, vector<lemma_iterator_t> &res);
256 void find_lemm_by_prdno(
WORD no, vector<lemma_iterator_t> &res);
257 void find_lemm_by_accent_model(
int no, vector<lemma_iterator_t> &res);
259 void find_lemm_by_prd_info(
const CParadigmInfo& info, vector<lemma_iterator_t> &res);
263 string mrd_to_slf(
const string &lemm,
const CFlexiaModel&p,
WORD AccentModelNo,
BYTE AuxAccent,
int line_size)
const;
265 void slf_to_mrd(
const string &s,
string &lemm,
CFlexiaModel& FlexiaModel,
CAccentModel& AccentModel,
BYTE& AuxAccent,
int& line_no_err)
const;
266 void check_paradigm(
long line_no);
268 void predict_lemm(
const string &lemm,
const int preffer_suf_len,
int minimal_frequence,
bool bOnlyMainPartOfSpeeches);
269 string get_slf_string (
lemma_iterator_t it,
string &dict,
string& Prefixes,
int line_size = 79);
271 string create_slf_from_predicted(
int PredictParadigmNo,
string &dict,
int line_size = 79)
const;
273 void set_to_delete_false();
274 void delete_checked_lemms();
275 void clear_predicted_paradigms();
276 bool change_prd_info(
CParadigmInfo& I,
const string& Lemma,
WORD NewParadigmNo,
WORD newAccentModelNo,
bool keepOldAccents );
277 string show_differences_in_two_paradigms(
WORD FlexiaModelNo1,
WORD FlexiaModelNo2)
const;
279 bool slf2ancode(
const string slf_line,
string& gramcode)
const;
280 bool check_common_grammems(
string common_grammems)
const;
281 bool check_prefixes(
string prefixes)
const;
282 bool attach_form_prefixes_to_bases();
283 bool prepare_for_RML();
290 bool ReadNextParadigmFromFile(FILE* fp,
CDumpParadigm& P,
int& line_no,
bool& bError,
string& Errors)
const;
291 bool StartSession(
string user_name);
293 string GetUserName()
const;
294 void StartLastSessionOfUser(
string user_name);
297 BYTE _GetReverseVowelNo(
const string& form,
WORD accentModelNo,
WORD formInd )
const;
298 void SetAccent(
WORD AccentModelNo,
BYTE AuxAccent,
int FormNo,
string& form)
const;
299 string get_prefix_set_str(
WORD PrefixSetNo)
const;
300 void ReadOnePrefixSet(
string PrefixSet, set<string>& Result)
const;
301 void ReadPrefixSets (FILE* fp);
302 WORD AddPrefixSet(
string PrefixSetStr);
323 #endif // _INCL_WIZARD_H MorphWizardMeter(MorphoWizard &wizard)
Definition: wizard.h:312
virtual ~CParadigmInfo()
Definition: wizard.h:58
StringVector m_PosesList
Definition: wizard.h:150
bool operator<(const CLemmaInfo &obj) const
Definition: FormInfo.h:110
set< CPredictSuffix > predict_container_t
Definition: wizard.h:126
bool IsAnyEqual(const CParadigmInfo &X) const
Definition: wizard.cpp:241
bool m_bLoaded
Definition: wizard.h:202
string m_LastSessionSave
Definition: wizard.h:111
const WORD AnyPrefixSetNo
Definition: wizard.h:41
map< string, string > m_ProjectFileKeys
Definition: wizard.h:191
string m_Suffix
Definition: wizard.h:76
LemmaMap m_LemmaToParadigm
Definition: wizard.h:187
uint64_t QWORD
Definition: utilit.h:107
MorphLanguageEnum m_Language
Definition: wizard.h:197
const WORD AnyAccentModelNo
Definition: wizard.h:39
multimap< string, CParadigmInfo > LemmaMap
Definition: wizard.h:66
bool is_changed()
Definition: wizard.h:221
StringVector m_Users
Definition: wizard.h:158
MorphoWizard * m_pWizard
Definition: wizard.h:315
size_t m_Frequence
Definition: wizard.h:85
LemmaMap::const_iterator const_lemma_iterator_t
Definition: wizard.h:68
bool operator==(const CParadigmInfo &X) const
Definition: wizard.cpp:222
Definition: agramtab_.h:39
const CAgramtab * m_pGramTab
Definition: wizard.h:204
string m_AuthorStr
Definition: wizard.h:133
vector< CFlexiaModel > m_FlexiaModels
Definition: wizard.h:177
vector< predict_container_t::const_iterator > m_CurrentPredictedParadigms
Definition: wizard.h:194
const int MinPredictSuffixLength
Definition: wizard.h:123
string m_PrefixSetStr
Definition: wizard.h:86
const StringVector & get_type_grammems()
Definition: wizard.h:248
uint16_t WORD
Definition: utilit.h:106
string m_PrefixesStr
Definition: wizard.h:131
StringVector m_GrammemsList
Definition: wizard.h:151
string m_SessionStart
Definition: wizard.h:110
bool m_bToDelete
Definition: wizard.h:54
int m_FirstSlfLineNo
Definition: wizard.h:135
const int MaxPredictSuffixLength
Definition: wizard.h:124
vector< BYTE > m_PcreCharacterTables
a table of character properties for regular expressions which depend on CConcIndexator::m_Language ...
Definition: wizard.h:200
Definition: FormInfo.h:48
Definition: FormInfo.h:69
string m_LanguageStr
Definition: wizard.h:206
bool m_bWasChanged
Definition: wizard.h:148
static CParadigmInfo AnyParadigmInfo()
Definition: wizard.cpp:234
vector< string > StringVector
Definition: utilit.h:146
const char * AnyCommonAncode
Definition: wizard.cpp:35
string m_MrdPath
Definition: wizard.h:207
MorphWizardMeter * m_pMeter
Definition: wizard.h:163
CMorphSession m_Session
Definition: wizard.h:134
const WORD AnySessionNo
Definition: wizard.h:40
const StringVector & get_grammems()
Definition: wizard.h:247
const WORD AnyParadigmNo
Definition: wizard.h:38
string m_SourceLemma
Definition: wizard.h:84
string m_CurrentNewLemma
Definition: wizard.h:193
unsigned char BYTE
Definition: utilit.h:94
BYTE m_AuxAccent
Definition: wizard.h:53
bool IsGerman() const
Definition: wizard.h:245
WORD m_PrefixSetNo
Definition: wizard.h:52
bool m_ReadOnly
Definition: wizard.h:205
vector< CAccentModel > m_AccentModels
Definition: wizard.h:180
string m_SourceCommonAncode
Definition: wizard.h:82
const BYTE AnyAccent
Definition: wizard.h:42
vector< set< string > > m_PrefixSets
Definition: wizard.h:184
size_t m_SessionNo
Definition: wizard.h:159
vector< CMorphSession > m_Sessions
Definition: wizard.h:160
WORD m_FlexiaModelNo
Definition: wizard.h:75
LemmaMap::iterator lemma_iterator_t
Definition: wizard.h:67
string m_SlfStr
Definition: wizard.h:132
MorphLanguageEnum
Definition: utilit.h:162
bool m_bFullTrace
Definition: wizard.h:208
const StringVector & get_poses()
Definition: wizard.h:246
string m_SourceLemmaAncode
Definition: wizard.h:79
Definition: FormInfo.h:89
WORD m_SessionNo
Definition: wizard.h:51
CParadigmInfo()
Definition: wizard.cpp:203
string m_UserName
Definition: wizard.h:109
const WORD UnknownSessionNo
Definition: wizard.h:33
string m_TypeGrammemsStr
Definition: wizard.h:130
bool HasMeter() const
Definition: wizard.h:285
void log(string s)
Definition: CreatePredictionBase.cpp:140
Definition: OperationMeter.h:134
const WORD UnknownPrefixSetNo
Definition: wizard.h:34
const CAgramtab * m_pGramTab
Definition: wizard.h:170
virtual ~MorphWizardMeter()
Definition: wizard.h:313
AncodeLess ancode_less
Definition: wizard.h:174
StringVector m_TypeGrammemsList
Definition: wizard.h:152
const BYTE UnknownAccent
Definition: wizard.h:35
MorphWizardMeter * GetMeter()
Definition: wizard.h:286
BYTE TransferReverseVowelNoToCharNo(const string &form, BYTE AccentCharNo, MorphLanguageEnum Language)
Definition: wizard.cpp:1463