- RU.PERL ----------------------------------------------------------- RU.PERL - Msg : #2544 [500] От : Yury Kopyl 2:5020/400 11 февраля 04, 18:10 Кому : All 14 февраля 04, 22:51 Тема : Parse::RecDescent ------------------------------------------------------------------------------- From: "Yury Kopyl"Hello, All! Hаписал грамматику для Parse::RecDescent Hо вот захотелось сделать вызовы своих функций для правил, что не строить дерево и не парсить его потом (ala SAX-парсеры для XML) Вся беда в том, что функции вызываются для пространства Parse::RecDescent, т.е rule: token {func} - будет пытаться взывать функцию Parse::RecDescent::func, отсюда пока придумал следующие решения: 1. Отнаследовать Parse::RecDescent со своими методами. Еще не проверял, но делать не хочется 2. eval q{ package Parse::RecDescent; sub func {} } этапе компиляции вылезает следующая ошибка: panic: top_env 3. *Parse::RecDescent::func=sub {}, результат аналогичен п.2 Смотрел на Class::Mutator, но там для счастья все равно надо отнаследовать класс Parse::RecDescent Кто боролся с этой проблемой? Yury Kopyl aka hrg | http://id.totem.ru | "Бей врага - друзья найдутся"(С) Жванецкий --- ifmail v.2.15dev5.3 * Origin: IAC Samara-Internet, Ltd. (2:5020/400)