00001 #ifndef __MorphXMLtoken_h 00002 #define __MorphXMLtoken_h 00003 00004 #include "../common/utilit.h" 00005 00006 const string XmlPunctType = "pun"; 00007 const string XmlWordType = "w"; 00009 struct CXmlMorphAnnot 00010 { 00012 string m_Lemma; 00014 string m_GrammemsStr; 00016 void* m_XmlRef; 00018 void GetAsSetOfProperties(vector<string>& Result) const; 00020 string BuildRusCorpAnnot() const; 00021 }; 00022 00024 struct CXmlToken 00025 { 00027 string m_Type; 00029 string m_WordStr; 00031 string m_OrigWordStr; 00033 vector<CXmlMorphAnnot> m_Annots; 00035 bool m_bLastInSentence; 00036 bool IsImportantPunct() const; 00037 00038 CXmlToken(); 00039 }; 00040 00041 extern string POS_Dialing2MyStem(string pos); 00042 extern string Grammem_Dialing2MyStem(string pos); 00043 extern string POS_MyStem2Dialing(string pos); 00044 extern string Grammem_MyStem2Dialing(string pos); 00045 extern bool IsMyStemSpecificGrammem(string g); 00046 extern bool IsImportantRusCorpFeature(const string& s); 00047 00048 #endif 00049