用于php的独立语法和解析器

我正在寻找一个现成的PHP语法和解析器(至少5.2),理想情况下是一个实用程序/库,可以将PHP代码解析为可读的AST,例如xml。 解析器本身不必用php编写,源语言并不重要。

为了回答我自己的问题,我已经设法在我的OSX盒子上编译phc ,解析器部分似乎运行良好

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

创建AST的xml表示。

我们的DMS软件再造工具包是用于解析/分析/转换任意计算机语言的通用编译器技术。 它解析为AST,并支持构建符号表和各种类型的流程图。

它有一个完全符合PHP 5.x标准的PHP前端 ,使用DMS作为基础自动构建完整的AST。 它可以导出XML,但我们的经验(以及DMS的设计)表示,通过使用AST数据结构保持“内部”DMS,在那里工作,使用DMS庞大的AST操作库和模式匹配工具,您可以获得更多的成功,然后生成您的结果,而不是尝试处理您将获得的大量XML。

该前端已用于许多生产工具中。

编辑:2016年10月:现在处理PHP 5.6和PHP 7。

phpParseTree

Parse_Tree扩展从php代码生成XML解析树。