Wykonuję dużo pracy, manipulując i analizując kod PHP. Zwykle używam do tego Tokenizera . W większości zastosowań jest to wystarczające. Ale czasami parsowanie przy użyciu leksera po prostu nie jest wystarczająco niezawodne (oczywiście).
Dlatego szukam parsera PHP napisanego w PHP. Znalazłem hnw / PhpParser i kumatch / stagehand-php-parser . Oba są tworzone przez automatyczną konwersję zend_language_parser.y do pliku .y z PHP zamiast C (a następnie skompilowane do parsera LALR (1)). Ale z tą automatyczną konwersją po prostu nie można pracować.
Czy jest jakiś przyzwoity parser PHP napisany w PHP? (Potrzebuję jednego dla PHP 5.2 i jednego dla 5.3. Ale tylko jeden z nich też byłby dobrym punktem wyjścia).