有很多这样的译者,至少可以追溯到 1980 年代,我认为 CHICKEN是一个很好的当前译者。
如果你想使用它:
- 吃鸡;
- 使用适当的咒语构建和安装它
make(这对我来说在 OSX 上很轻松,因此在 Linux 上应该非常轻松,尽管在 Windows 上可能更难);
- 将您的代码存储在我将调用的文件中
f.scm。
- 如果你想看 C 代码,用
chicken f.scm它编译会产生几百行难以理解的 C;
- 如果您只想要可执行文件,请使用
csc来创建它。
如果您想做任何重要的事情,例如在 C 库中链接或从 C 与 Scheme 代码交谈,则需要阅读一本内容丰富的手册。
在不知道你在追求什么的情况下,这闻起来好像是XY 问题。尤其:
- 如果您想要一个允许您与用 C 编写的代码交谈的 Scheme 系统,那么您可能想要一个带有 FFI 的系统,而不是编译为 C 的系统;
- 如果您想要一个可以创建本机可执行文件的 Scheme 系统,那么您可能需要一个可以创建本机可执行文件的 Scheme 系统,而不是编译为 C 的系统。
这些都有很多例子。其中一些系统也可以编译为或通过 C 进行编译,但其中一个不依赖于另一个。
最后,如果你想了解以 C 为目标的 Scheme 编译器是如何工作的(或以任何语言为目标的 Scheme 编译器,包括汇编程序是如何工作的),那么传统的方法可能仍然最有效:找到一个编写良好且源代码可用的编译器,然后阅读并修改其源代码。