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

时间:2010-08-31 12:40:17

标签: php c++ c parsing compiler-construction

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

3 个答案:

答案 0 :(得分:2)

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

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

创建AST的xml表示。

答案 1 :(得分:1)

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

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

此前端已用于多种生产工具中。

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

答案 2 :(得分:0)

phpParseTree

  

Parse_Tree扩展生成一个   来自php代码的XML解析树。