0

我有几个在我的 python 项目中使用的 Hy Lang 代码片段。我想知道是否有一种相对简单的方法可以让我使用一些 python 库或什至 Hy 编译器本身来获取 Hy 代码的抽象语法树(我已经查看了编译器代码,但我很难理解它)。

我知道 Hy 在生成该字节码之前将所有 Hy lang 代码转换为 python AST 并查看编译器 我没有看到一个函数可以帮助我将 Hy 代码转换为我可以提供给 HyASTCompiler 的 Hy 对象。

我希望我可以利用已经构建的东西,而不必使用像 ANTLER 这样的东西并编写自己的语法。

谢谢!

使用 Hy 版本 0.12 和 python3

4

1 回答 1

1

我不清楚您是否想要 Pythonast对象或只是 Hy 代码作为数据。后者由read和提供read-str。对于前者,目前没有提供公共接口,但请查看内部函数的文档字符串hy.compiler.hy_compile

不过,Hy 0.12 很古老,因此您可能需要升级。

于 2020-10-23T16:33:12.180 回答