// Правила для БОЛЕЕ или МЕНЕЕ + прил или кр.прил bool CRusFormatCaller::format_for_anat_compar(CGroup& G) { //более извращенная любительница size_t i = G.m_iFirstWord; const CGroup& MaxGrp = get_maximal_group(i); if (MaxGrp.m_iFirstWord != MaxGrp.m_iLastWord) return false; if ( !Wi.is_word_upper("БОЛЕЕ") && !Wi.is_word_upper("МЕНЕЕ") ) return false; size_t j = i + 1; if (j >= sent.size()) return false; if (get_maximal_group_size(j) != 1) return false; if (is_morph_adj(Wj) || is_morph_participle (Wj)) { G.m_GroupType = ANAT_COMPAR; G.m_iLastWord = j; G.m_MainGroup.m_iFirstWord = j; G.m_MainGroup.m_iLastWord = j; G.SetGrammems( Wj.GetGrammems() ); create_syn_rel(G, j, i, ANAT_COMPAR); return true; } return false; };
bool CGerGramTab::is_verb_form (size_t poses) const { return is_morph_participle(poses) || ( poses & (1 <<gVER )) != 0; };