/** * @param phpMorphy_Paradigm_ParadigmInterface $paradigm * @param string $base * @param string $additionalCommonPrefix * @return phpMorphy_Dict_Lemma */ protected function createLemma(phpMorphy_Paradigm_ParadigmInterface $paradigm) { $flexia_model = $this->createFlexiaModel($paradigm); $base = $paradigm->getPseudoRoot(); $common_prefix = $paradigm[0]->getCommonPrefix(); $lemma = new phpMorphy_Dict_Lemma($base, $flexia_model->getId(), null); if (strlen($common_prefix)) { $prefix_set = new phpMorphy_Dict_PrefixSet(null); $prefix_set->append($common_prefix); $prefix_set_id = $this->source->appendPrefix($prefix_set)->getId(); $lemma->setPrefixId($prefix_set_id); } if (count($paradigm->getCommonGrammems())) { $common_ancode = $this->createAncode(null, $paradigm->getCommonGrammems()); $lemma->setAncodeId($common_ancode->getId()); } return $this->source->appendLemma($lemma); }