我希望将我的黑客代码分解为抽象语法树。请就可用的工具/库/github存储库告知我,这将帮助我将黑客式代码纳入AST。我发现了" H2TP"(Facebook撰写的hack to PHP Transpiler),但是它并没有将代码分解为AST。我还尝试了这个项目,它可以做我想要的,但是它并没有认识到许多操作员,并且需要大量的返工,这将大量时间做。
hhast(hhast:低级AST库)让您这样做,您可以这样调用hh_parse: hh_parse --full-fidelity-json $file | jq
取自(https://github.com/hhvm/hhast/blob/master/master/docs/docs/ast-lib.md)
HHVM本身提供了很多工具来倾倒PHP文件的结构。但是,删除了AST转储:https://github.com/facebook/hhvm/issues/1268
您可以做的是倾倒HHVM汇编语言:http://hhvm.com/blog/6323/the-journey-of-a-a-----------------a---- bytecodes
hhvm还具有PHP转板器,可能会有所帮助:https://docs.hhvm.com/hack/tools/transpiler
您也可以尝试将此扩展放在HHVM:https://github.com/nikic/nikic/php-ast