Ich arbeite viel daran, PHP-Code zu manipulieren und zu analysieren. Normalerweise benutze ich dazu nur den Tokenizer . Für die meisten Anwendungen ist dies ausreichend. Aber manchmal ist das Parsen mit einem Lexer (offensichtlich) einfach nicht zuverlässig genug.
Daher suche ich nach einem in PHP geschriebenen PHP-Parser. Ich habe hnw / PhpParser und kumatch / stagehand-php- parser gefunden . Beide werden durch eine automatisierte Konvertierung von zend_language_parser.y in eine .y-Datei mit PHP anstelle von C erstellt (und dann in einen LALR (1) -Parser kompiliert). Mit dieser automatisierten Konvertierung kann jedoch nicht gearbeitet werden.
Gibt es einen anständigen PHP-Parser, der in PHP geschrieben ist? (Ich brauche eine für PHP 5.2 und eine für 5.3. Aber nur eine davon wäre auch ein guter Ausgangspunkt.)