Go to the documentation of this file.00001
00002
00003
00004
00005 #ifndef __PLMLINE_H_
00006 #define __PLMLINE_H_
00007
00008 #include "../common/Graspace.h"
00009 #include "../AgramtabLib/agramtab_.h"
00010
00011 enum MainTokenTypeEnum {RLE=0, LLE=1, NUM=2, NUM_CHAR=3, PUNCTUAT=4, ROMAN_NUM=5, OTHER_TOKEN_TYPE=6};
00012
00013 extern string TokenTypeToString(const MainTokenTypeEnum & t);
00014 extern MainTokenTypeEnum StringToTokenType(const string& t);
00015
00016 class CPlmLine {
00017 string m_GramCodes;
00018 string m_Word;
00019 string m_UpperWord;
00020 char m_MorphSign;
00021 string m_CommonGramCode;
00022
00023 public:
00024 int m_FilePosition;
00025 int m_TokenLengthInFile;
00026 string m_GraphDescr;
00027 bool m_bHomonym;
00028
00029 string m_Lemma;
00030
00031 string m_ParadigmId;
00032 string m_HomoWeight;
00033 MainTokenTypeEnum m_TokenType;
00034 RegisterEnum m_Register;
00035 bool m_bToDelete;
00036 bool m_bFirstUpperAlpha;
00037 bool m_bQuoteMarks;
00038 bool m_bFI1;
00039 bool m_bFI2;
00040
00041 bool m_bName;
00042 bool m_bSent2;
00043 bool m_bOborot1;
00044 bool m_bOborot2;
00045 bool m_bHyphenWord;
00046 bool m_bMorphName;
00047 bool m_bMorphSurname;
00048 QWORD m_Grammems;
00049 BYTE m_Pos;
00050
00051
00052 CPlmLine ();
00053
00054 bool LoadPlmLineFromString (string Buffer, bool bStartLine, const CAgramtab* pRusGramTab);
00055 string GetStr() const;
00056 void DeleteDescr(const char* Descr);
00057 void DeleteOb1();
00058 void DeleteOb2();
00059 bool HasGraDescr(const char* GraphDescr) const;
00060 void SetGramCodes(const string& NewGramCodes, const CAgramtab* pRusGramTab);
00061 const string& GetGramCodes() const { return m_GramCodes;};
00062 bool IsPartOfNonSingleOborot() const;
00063 bool IsFoundInMorphology() const;
00064 void SetWord(string s);
00065 const string& GetWord() const;
00066 const string& GetUpperWord() const;
00067 const string& GetCommonGramCode() const;
00068 void SetMorphUnknown();
00069 void SetMorph(char MorphSign, const string& CommonAncode, const DWORD& ParadigmId);
00070
00071 };
00072
00073
00074
00075
00076
00077 #endif