【发布时间】:2023-03-27 12:47:02
【问题描述】:
有许多编译器框架可以帮助实现一种语言的后端(例如 LLVM)。然而,似乎缺乏用 C++ 编写的“中间端”,它们可以代表高阶、动态、函数式语言。该框架应该做一些通用的事情,比如 lambda 提升、闭包转换、类型推断等,并帮助其他语言特定的转换,比如翻译类型类等。我能想到的一些候选者是 PyPy 和 Clean。这些是用于高阶、动态、函数式语言的编译器。可以说,可以将任何语言的前端连接到这些,并重新使用其中可用的数据结构和转换来完成中端工作。但是,它们分别在 Python 和 Clean 中实现。是否有 C++ 中实现上述目的的框架?
【问题讨论】:
-
普遍认为这样的编译器可以毫不费力地用高阶、动态、函数式语言编写:)
-
同意。那么有没有这种通用的中间端,不依赖于现有的语言?
标签: compiler-construction frameworks functional-programming