【发布时间】:2016-11-20 21:22:44
【问题描述】:
我在读一本关于编译器设计的书,里面有一段说,
不同语言的编译器的主要区别在于它们生成的代码。一般来说,可以说命令式和面向对象语言的编译器以汇编语言生成代码。而函数式语言编译器使用 C 或 C++ 生成。
关于 C/C++ 的最后一部分是否正确?我通过谷歌搜索找不到任何东西,所以我在这里问。
【问题讨论】:
-
是的,C 是高级语言的流行中间格式,因为每种架构都有 C 编译器。来自yosefk.com/blog/c-as-an-intermediate-language.html:“它非常便携,可以快速编译,优化得很好,并且你可以与大量东西进行互操作。”
-
它是not only functional languages。但是,使用函数范式的语言通常是更高级别的,因此您更有可能在该类别中找到它们。
-
@Bergi 我的教科书有很多其他的事实不准确之处,所以我对此有点怀疑。感谢您提供这些链接。
-
这本书有多久了? 20 年前它比现在更接近准确。
标签: compiler-construction functional-programming transpiler