uawdijnntqw1x1x1
IP : 216.73.216.155
Hostname : vm5018.vps.agava.net
Kernel : Linux vm5018.vps.agava.net 3.10.0-1127.8.2.vz7.151.14 #1 SMP Tue Jun 9 12:58:54 MSK 2020 x86_64
Disable Function : None :)
OS : Linux
PATH:
/
var
/
www
/
iplanru
/
data
/
www
/
www.i-plan.ru
/
libraries
/
phpmorphy
/
src
/
.
/
fsa
/
fsa_state.php
/
/
<?php /** * This file is part of phpMorphy library * * Copyright c 2007-2008 Kamaev Vladimir <heromantor@users.sourceforge.net> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ class phpMorphy_Link_Base { protected $fsa, $trans, $raw_trans; function phpMorphy_Link_Base(phpMorphy_Fsa_Interface $fsa, $trans, $rawTrans) { $this->fsa = $fsa; $this->trans = $trans; $this->raw_trans = $rawTrans; } function isAnnotation() { } function getTrans() { return $this->trans; } function getFsa() { return $this->fsa; } function getRawTrans() { return $this->raw_trans; } }; /** * This class represent "normal" link i.e. link that points to automat state */ class phpMorphy_Link extends phpMorphy_Link_Base { function isAnnotation() { return false; } function getDest() { return $this->trans['dest']; } function getAttr() { return $this->trans['attr']; } function getTargetState() { return $this->createState($this->trans['dest']); } protected function createState($index) { return new phpMorphy_State($this->fsa, $index); } } class phpMorphy_Link_Annot extends phpMorphy_Link_Base { function isAnnotation() { return true; } function getAnnotation() { return $this->fsa->getAnnot($this->raw_trans); } }; class phpMorphy_State { protected $fsa, $transes, $raw_transes; function phpMorphy_State(phpMorphy_Fsa_Interface $fsa, $index) { $this->fsa = $fsa; $this->raw_transes = $fsa->readState($index); $this->transes = $fsa->unpackTranses($this->raw_transes); } function getLinks() { $result = array(); for($i = 0, $c = count($this->transes); $i < $c; $i++) { $trans = $this->transes[$i]; if(!$trans['term']) { $result[] = $this->createNormalLink($trans, $this->raw_transes[$i]); } else { $result[] = $this->createAnnotLink($trans, $this->raw_transes[$i]); } } return $result; } function getSize() { return count($this->transes); } protected function createNormalLink($trans, $raw) { return new phpMorphy_Link($this->fsa, $trans, $raw); } protected function createAnnotLink($trans, $raw) { return new phpMorphy_Link_Annot($this->fsa, $trans, $raw); } };
/var/www/iplanru/data/www/www.i-plan.ru/libraries/phpmorphy/src/./fsa/fsa_state.php