HCE project C++ developers source code library  1.1.1
HCE project developer library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
TurglemPlugin.hpp
Go to the documentation of this file.
1 
6 #ifndef _TURGLEM_HPP
7 #define _TURGLEM_HPP
8 
9 
13 #include <map>
14 #include <cstring>
15 
19 #include <turglem/lemmatizer.hpp>
20 #include <turglem/russian/charset_adapters.hpp>
21 #include <turglem/english/charset_adapters.hpp>
22 #include <MAFSA/charset_adapter.h>
23 
27 #include "TPlugin.hpp"
28 #include "LCoreData.hpp"
29 #include "SymbolInfo.hpp"
30 
31 
32 namespace HCE
33 {
34 
35 namespace component
36 {
37 
38 
40 {
41  NOUN = 0,
42  ADJ_FULL = 1,
43  VERB = 2,
44  VBE = 3,
45  MOD = 4,
46  NUMERAL = 5,
47  CONJ = 6,
48  INTERJ = 7,
49  PREP = 8,
50  PARTICLE = 9,
51  ART = 10,
52  ADV = 11,
53  PN = 12,
54  ORDNUM = 13,
55  PRON = 14,
56  POSS = 15,
57  PN_ADJ = 16
58 };
59 
60 
61 enum grammem
62 {
63  Plural = 0,
64  Singular = 1,
66  Feminum = 3,
67  Animative = 4,
71  Narrative = 8,
73  Proper = 10,
75  Possessive = 12,
80  Mass = 17,
81  Comparativ = 18,
82  Supremum = 19,
87  Infinitive = 24,
88  PastIndef = 25,
90  Gerund = 27,
91  Futurum = 28,
94  Apostrophe = 31,
95  Names = 32,
97 };
98 
99 
100 class TurglemPlugin : public TPlugin
101 {
102 public:
103  TurglemPlugin();
104  virtual ~TurglemPlugin();
105 public:
106  virtual void process(LCoreData&);
107 private:
108  std::map<Language, tl::lemmatizer> _lem;
109 };
110 
111 
112 } /* namespace component */
113 
114 } /* namespace HCE */
115 
116 
117 #endif