一尘不染

任何用PHP编写的体面的PHP解析器?[关闭]

php

我做了很多工作来处理和分析PHP代码。通常,我只是使用Tokenizer来做到这一点。对于大多数应用来说,这已经足够了。但是有时使用词法分析器解析不够可靠(显然)。

因此,我正在寻找一些用PHP编写的PHP解析器。我发现hnw /
PhpParser
kumatch / stagehand-php-
parser
。两者都是通过使用PHP而不是C
zend_language_parser.y自动转换为.y文件创建的,然后编译为LALR(1)解析器。但是,这种自动转换无法使用。

那么,有没有用PHP编写的不错的PHP解析器?(对于PHP 5.2,我需要一个,对于5.3,我需要一个。但是,其中一个也是一个很好的起点。)


阅读 251

收藏
2020-05-26

共1个答案

一尘不染

在这里找不到完整而稳定的解析器后,我决定自己写一个。结果如下:

PHP-Parser :用PHP编写的PHP解析器

该项目支持解析为PHP 5.2和PHP 7.1之间的任何PHP版本编写的代码。

除了解析器本身之外,该库还提供一些相关组件:

  • 将AST编译回PHP (“漂亮打印”)
  • 遍历和更改AST的基础结构
  • 与XML的串行化(以及以人类可读形式进行转储)
  • 命名空间名称的解析(别名等)
2020-05-26