ddc
Paradigm.h
Go to the documentation of this file.
1 //
2 // This file is part of DDC.
3 //
4 // DDC is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU Lesser General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
8 //
9 // DDC is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU Lesser General Public License for more details.
13 //
14 // You should have received a copy of the GNU Lesser General Public License
15 // along with DDC. If not, see <http://www.gnu.org/licenses/>.
16 //
17 // ========== Dialing Lemmatizer (www.aot.ru)
18 // ========== Copyright by Alexey Sokirko, Bryan Jurish (2011)
19 
20 #ifndef __PARADIGM_H_
21 #define __PARADIGM_H_
22 
23 #include "../CommonLib/utilit.h"
24 #include "MorphAutomat.h"
25 
26 class CLemmatizer;
27 
28 
29 class CFormInfo
30 {
33  string m_UserPrefix;
35  const CLemmaInfoAndLemma& GetLemmaInfo() const;
36  const CFlexiaModel& GetFlexiaModel() const;
37  bool IsValid() const;
38 
39 public:
42  bool m_bFound;
43 
44 
45  CFormInfo();
46  void Create(const CLemmatizer* pParent, const CAutomAnnotationInner& A, const string& InputWordForm, bool bFound);
47  void CopyFrom(const CFormInfo& from);
48  void AttachLemmatizer(const CLemmatizer* parent);
49  bool SetParadigmId(DWORD newVal);
50 
51  DWORD GetParadigmId() const;
52  DWORD GetCount () const;
53 
54  string GetSrcNorm() const;
55  // returns the weight of a word form
56  int GetHomonymWeightWithForm(WORD pos) const;
57  // returns the weight of this word
58  int GetWordWeight() const;
59 
60  string GetAncode(WORD pos) const;
61  string GetWordForm (WORD pos) const;
62  string GetSrcAncode() const;
63  int GetHomonymWeight() const;
64  BYTE GetAccentedVowel(WORD pos) const;
65  BYTE GetSrcAccentedVowel() const;
66  string GetCommonAncode() const;
67  char GetLemSign() const;
68  size_t GetLemmaPrefixLength() const;
69  string FormatAsInPlmLine() const;
70  void SetUserPrefix(const string& UserPrefix);
71  void SetUserUnknown();
72 };
73 
74 
75 #endif //__PARADIGM_H_
76 
77 /*--- emacs style variables ---
78  * Local Variables:
79  * mode: C++
80  * c-file-style: "ellemtel"
81  * c-basic-offset: 4
82  * tab-width: 8
83  * indent-tabs-mode: nil
84  * End:
85  */
const CLemmatizer * m_pParent
Definition: Paradigm.h:40
CAutomAnnotationInner m_InnerAnnot
Definition: Paradigm.h:34
const CFlexiaModel & GetFlexiaModel() const
Definition: Paradigm.cpp:112
size_t GetLemmaPrefixLength() const
Definition: Paradigm.cpp:54
DWORD GetParadigmId() const
Definition: Paradigm.cpp:118
string GetAncode(WORD pos) const
Definition: Paradigm.cpp:229
bool SetParadigmId(DWORD newVal)
Definition: Paradigm.cpp:148
DWORD GetCount() const
Definition: Paradigm.cpp:173
Definition: Paradigm.h:29
uint16_t WORD
Definition: utilit.h:106
bool m_bFound
Definition: Paradigm.h:42
void CopyFrom(const CFormInfo &from)
Definition: Paradigm.cpp:41
bool m_bFlexiaWasCut
Definition: Paradigm.h:32
void AttachLemmatizer(const CLemmatizer *parent)
Definition: Paradigm.cpp:208
bool IsValid() const
Definition: Paradigm.cpp:213
int GetWordWeight() const
Definition: Paradigm.cpp:200
Definition: FormInfo.h:48
bool m_bPrefixesWereCut
Definition: Paradigm.h:31
void Create(const CLemmatizer *pParent, const CAutomAnnotationInner &A, const string &InputWordForm, bool bFound)
Definition: Paradigm.cpp:62
void SetUserPrefix(const string &UserPrefix)
Definition: Paradigm.cpp:299
int GetHomonymWeightWithForm(WORD pos) const
Definition: Paradigm.cpp:193
char GetLemSign() const
Definition: Paradigm.cpp:141
string GetSrcNorm() const
Definition: Paradigm.cpp:181
string m_InputWordBase
Definition: Paradigm.h:41
BYTE GetAccentedVowel(WORD pos) const
Definition: Paradigm.cpp:276
const CLemmaInfoAndLemma & GetLemmaInfo() const
Definition: Paradigm.cpp:107
unsigned char BYTE
Definition: utilit.h:94
BYTE GetSrcAccentedVowel() const
Definition: Paradigm.cpp:294
string GetCommonAncode() const
Definition: Paradigm.cpp:130
CFormInfo()
Definition: Paradigm.cpp:33
Definition: MorphDict.h:29
int GetHomonymWeight() const
Definition: Paradigm.cpp:266
Definition: MorphAutomat.h:91
Definition: Lemmatizers.h:37
void SetUserUnknown()
Definition: Paradigm.cpp:304
string m_UserPrefix
Definition: Paradigm.h:33
uint32_t DWORD
Definition: utilit.h:105
string FormatAsInPlmLine() const
Definition: Paradigm.cpp:309
string GetWordForm(WORD pos) const
Definition: Paradigm.cpp:239
string GetSrcAncode() const
Definition: Paradigm.cpp:219