1. По поводу семафоров:
После обновления версии пхп до 5.2.10 проблема, описанная мною выше, исчезла. Но, при большом количестве обрабатываемых слов, Апач вылетает
"Программа выполнила недопустимую..." и "Инструкция по адресу хххх обратилась к памяти уууу. Память не может быть read". хххх и уууу каждый раз разные.
При малом количестве обрабатываемых слов скажем 10-20 штук все работает прекрасно. При обработке допустим от полусотни слов циклом наблюдается либо просто вылет либо вылет с сообщением см выше.
Все то же самое наблюдается и при работе старых (0.2.х) версий.
Вопрос:
можно ли локализовать как-то этап, на котором в данном случае происходит утечка памяти?
2. Все равно невозможно скомпилировать словарь из АОТовского исходника .mrd.
Делаю:
>set PHPRC=e:\server\php
>mrd2xml <путь до .mwz> <путь к словарям>
Получаю:
Total time = 0.109430
exception 'Exception' with message 'Unknown gramtab name(grammem) 'РљР_' found' in \utils\dict_stuff\dict\source\utils\gramtab\helper.php:67
Stack trace:
#0 \utils\dict_stuff\dict\source\utils\gramtab\helper.php(46): phpMorphy_GramTab_Const_Helper_Base->getMapItem(Array, '????', 'grammem')
#1 \utils\dict_stuff\dict\source\source_normalized.php(224): phpMorphy_GramTab_Const_Helper_Base->getGrammemIdByName('????')
#2 \utils\dict_stuff\dict\source\source_normalized.php(272): phpMorphy_Dict_Source_Normalized_Ancodes_Manager->registerGrammems(Object(ArrayIterator))
#3 \utils\dict_stuff\dict\source\source_normalized.php(183): phpMorphy_Dict_Source_Normalized_Ancodes_Manager->createAncode(Object(phpMorphy_Dict_Ancode))
#4 \utils\dict_stuff\dict\source\source_normalized.php(301): phpMorphy_Dict_Source_Normalized_Ancodes_Manager->__construct(Object(phpMorphy_Dict_Source_Mrd))
#5 \utils\dict_stuff\dict\source\source_normalized.php(297): phpMorphy_Dict_Source_Normalized_Ancodes->createManager(Object(phpMorphy_Dict_Source_Mrd))
#6 \utils\dict_stuff\dict\source\source_normalized.php(291): phpMorphy_Dict_Source_Normalized_Ancodes->__construct(Object(phpMorphy_Dict_Source_Mrd))
#7 \utils\dict_stuff\dict\writer\xml.php(24): phpMorphy_Dict_Source_Normalized_Ancodes::wrap(Object(phpMorphy_Dict_Source_Mrd))
#8 \bin\mrd2xml.php(20): phpMorphy_Dict_Writer_Xml->write(Object(phpMorphy_Dict_Source_Mrd))
#9 {main}
Папка со словарями остается пустой как и была.
Apache/2.0.47 (Win32), PHP 5.2.10, win xp sp2
-~{------------------------------------------------------------------------------------}~ 24.08.09 22:35:
Жиган еще такой вопрос:
Если слово есть полный омоним, по какой форме из них будут определяться все склонения? Может тут нужно развести в пространстве все возможные формы для всех омонимов? А то они как-то в одну кучу.
Пример жжот, странно склоняется предлог
PHP:
$word='ИЗ';
$base = $morphy->getBaseForm($word);
$all = $morphy->getAllForms($word);
$part_of_speech = $morphy->getPartOfSpeech($word);
var_dump($base,$all,$part_of_speech);
//Результат:
array(2) {
[0]=>
string(2) "ИЗ"
[1]=>
string(3) "ИЗА"
}
array(10) {
[0]=>
string(2) "ИЗ"
[1]=>
string(3) "ИЗА"
[2]=>
string(3) "ИЗЫ"
[3]=>
string(3) "ИЗЕ"
[4]=>
string(3) "ИЗУ"
[5]=>
string(4) "ИЗОЙ"
[6]=>
string(4) "ИЗОЮ"
[7]=>
string(4) "ИЗАМ"
[8]=>
string(5) "ИЗАМИ"
[9]=>
string(4) "ИЗАХ"
}
array(2) {
[0]=>
string(5) "ПРЕДЛ"
[1]=>
string(1) "С"
}