2010-08-31 3 views
4

Я ищу готовую грамматику и парсер для php (не менее 5.2), в идеале утилиту/библиотеку, которая может анализировать PHP-код в читаемом AST, например. XML. Сам анализатор не должен быть написан на php, исходный язык не имеет большого значения.автономная грамматика и парсер для php

+2

Я думаю, что нет официальной грамматики PHP. – Gumbo

ответ

2

Для того, чтобы ответить на мой собственный вопрос, который я сумел собрать phc на моем OSX поле, парсер часть, кажется, работает хорошо

phc --dump-xml=ast foo.php > bar.xml 

создает xml-представление AST.

0

phpParseTree

Расширение Parse_Tree генерирует дерево разбора XML из кода PHP.

+0

Это, как представляется, создает только поток токенов, завернутых в теги XML. Это не похоже на дерево разбора, несмотря на то, что говорит целевой веб-сайт. –

1

Наша DMS Software Reengineering Toolkit - это обобщенная технология компилятора, используемая для анализа/анализатора/преобразования произвольных компьютерных языков. Он анализирует АСТ и поддерживает построение таблиц символов и различных типов потоковых графов.

У этого есть PHP Front End, который полностью соответствует требованиям PHP 5.x, автоматически создает полные АСТ, используя DMS в качестве основы. Он может экспортировать XML, но наш опыт (и дизайн DMS) говорит о том, что вы получаете гораздо больше средств, оставив «внутри» DMS с структурой данных AST, выполняя свою работу там, с огромной библиотекой DMS, управляющей АСТ и возможностями сопоставления образцов , а затем генерировать ваш результат, а не пытаться обрабатывать огромное количество XML, которое вы получите.

Этот передний конец используется в ряде производственных инструментов.

EDIT: Октябрь 2016: Теперь обрабатывает PHP 5.6 и PHP 7.

Смежные вопросы