PHP的独立语法和解析器

6

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


2
我猜PHP没有官方语法。 - Gumbo
3个回答

2
为了回答我的问题,我已经在我的OSX电脑上编译了phc,解析器部分似乎运行良好。
 phc --dump-xml=ast foo.php > bar.xml

创建AST的XML表示。

1

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

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

这个前端已经在许多生产工具中使用。

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


0

phpParseTree

Parse_Tree扩展可以从PHP代码生成XML解析树。


这似乎只产生一个被XML标签包装的令牌流。尽管目标网站所说,它看起来并不像是一个解析树。 - Ira Baxter

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接