Compiler construction Haxe中的Haxe后端?
我知道Haxe编译器是用OCaml编程语言编写的,这对于编译器开发人员来说是一个不错的选择。然而,最近我发现了Luaxe项目,它似乎是一个针对Haxe的全功能Lua后端,是作为纯Haxe库开发的。我查看了该项目的代码,它正在使用某种宏魔法在编译时生成Lua源代码。因此,我想问,是否可以在纯Haxe中实现一个功能齐全的后端,而不必深入OCaml并重建编译器?如果有,有什么限制吗?有没有关于如何在纯Haxe中实现后端的好文章?Haxelang讨论组中有几个线程可能会为您提供有关此主题的一些信息。一些例子:Compiler construction Haxe中的Haxe后端?,compiler-construction,haxe,Compiler Construction,Haxe,我知道Haxe编译器是用OCaml编程语言编写的,这对于编译器开发人员来说是一个不错的选择。然而,最近我发现了Luaxe项目,它似乎是一个针对Haxe的全功能Lua后端,是作为纯Haxe库开发的。我查看了该项目的代码,它正在使用某种宏魔法在编译时生成Lua源代码。因此,我想问,是否可以在纯Haxe中实现一个功能齐全的后端,而不必深入OCaml并重建编译器?如果有,有什么限制吗?有没有关于如何在纯Haxe中实现后端的好文章?Haxelang讨论组中有几个线程可能会为您提供有关此主题的一些信息。一些
希望这有帮助 看起来Luaxe项目正在使用API 基本上,它作为一个宏运行,使用
--macro“setCustomJSGenerator(luaxe.LuaGenerator.use)”
或类似的东西
我自己从来没有构建过自定义后端,但您可以使用它来定制Javascript,或者为不同的语言生成源代码,这可以通过以下每种方式完成:
- Haxe标准库中的JS生成器示例:
- Luaxe的Lua生成器:
- Python代码生成器:
- Dart代码生成器: