我希望将我的Hack代码分解为抽象语法树。请告诉我可用的工具/库/ github存储库,它将帮助我将Hack代码解析为AST。 我找到了" h2tp" (破解Facebook编写的PHP转换器),但它并没有将代码解析为AST。我也尝试了this project,它可以满足我的需求,但它不能识别许多操作符,并且需要进行大量的返工,这需要花费很多时间。
答案 0 :(得分:1)
hhast(HHAST:低级AST库)使您可以执行此操作,您可以像这样调用hh_parse:hh_parse --full-fidelity-json $file | jq
取自(https://github.com/hhvm/hhast/blob/master/docs/ast-lib.md)
答案 1 :(得分:0)
HHVM本身提供了许多工具来转储PHP文件的结构。但是,AST转储已删除:https://github.com/facebook/hhvm/issues/1268
您可以做的是转储HHVM汇编语言:http://hhvm.com/blog/6323/the-journey-of-a-thousand-bytecodes
HHVM还有一个可以帮助的PHP转换器:https://docs.hhvm.com/hack/tools/transpiler
您也可以尝试将此扩展程序移植到HHVM:https://github.com/nikic/php-ast