protected function processLine($line)
 {
     $line = $this->iconv($line);
     $result = new phpMorphy_Dict_PrefixSet($this->getPosition());
     $result->import(new ArrayIterator(array_map('trim', explode(',', $line))));
     return $result;
 }
 /**
  * @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);
 }
 protected function readNext(XMLReader $reader)
 {
     do {
         if ($this->isStartElement('prefix_model')) {
             $prefix_model = new phpMorphy_Dict_PrefixSet($reader->getAttribute('id'));
             while ($this->read()) {
                 if ($this->isStartElement('prefix')) {
                     $prefix_model->append($reader->getAttribute('value'));
                 } elseif ($this->isEndElement('prefix_model')) {
                     break;
                 }
             }
             unset($this->current);
             $this->current = $prefix_model;
             break;
         }
     } while ($this->read());
 }
 /**
  * @param phpMorphy_Dict_PrefixSet $set
  * @return string
  */
 function formatPrefixSet(phpMorphy_Dict_PrefixSet $set)
 {
     return $this->formatSimpleModel('PrefixSet', array('id' => $set->getId(), 'prefixes' => implode(', ', $set->getPrefixes())));
 }