Я роблю багато роботи, маніпулюючи та аналізуючи PHP-код. Зазвичай для цього я просто використовую маркер . Для більшості програм цього достатньо. Але іноді розбір за допомогою лексера просто недостатньо надійний (очевидно).
Таким чином, я шукаю якийсь парсер PHP, написаний на PHP. Я знайшов hnw / PhpParser та kumatch / stagehand-php-parser . Обидва вони створюються шляхом автоматизованого перетворення zend_language_parser.y у файл .y з PHP замість C (а потім компілюється в синтаксичний аналізатор LALR (1)). Але з цим автоматичним перетворенням просто неможливо працювати.
Отже, чи існує якийсь гідний парсер PHP, написаний на PHP? (Мені потрібен один для PHP 5.2 і один для 5.3. Але лише один із них також буде гарною відправною точкою.)