我正在寻找一个现成的 PHP 语法和解析器(至少 5.2 版本),最好是一个可以将 PHP 代码解析为可读取的 AST 的实用程序/库,例如 XML。解析器本身不必用 PHP 编写,源语言并不重要。
我正在寻找一个现成的 PHP 语法和解析器(至少 5.2 版本),最好是一个可以将 PHP 代码解析为可读取的 AST 的实用程序/库,例如 XML。解析器本身不必用 PHP 编写,源语言并不重要。
我们的DMS软件重构工具包是通用编译器技术,用于解析/分析/转换任意计算机语言。它解析为AST,并支持构建符号表和各种类型的流程图。
它有一个PHP前端,完全符合PHP 5.x标准,使用DMS作为基础自动构建完整的AST。它可以导出XML,但我们的经验(以及DMS的设计)表明,通过在AST数据结构中保持“内部”DMS,利用DMS庞大的AST操作和模式匹配功能进行处理,然后生成结果,而不是尝试处理您将获得的大量XML,可以获得更多的收益。
这个前端已经在许多生产工具中使用。
编辑:2016年10月:现在处理PHP 5.6和PHP 7。
Parse_Tree扩展可以从PHP代码生成XML解析树。