我目前正在使用正在编译为c。
的Eiffel(SmartEiffel / ISE Eiffel)如果输出进入便携式声明语言(也称为C),我发现使用新功能或工具支持自行扩展语言要容易得多。
哪种通用非功能语言也有此功能。
我知道已经过时的C ++预编译器,我甚至找到了一个旧的Objective-C。
(我也听说过((Scheme和Lisp)编译器)但我不喜欢这个(语言))。
请列出FOSS(免费开源)项目,因为我需要研究它们。
答案 0 :(得分:24)
Nim是一种非常现代的语言,可以编译为C
http://nim-lang.org
答案 1 :(得分:11)
嗯,有一些警告涉及异常和浮点数等事情,但是llvm可以输出C(虽然没有人在生产中使用它,所以它经常落后于主要版本)。这意味着任何可以静态编译的基于LLVM的语言都可以输出到C,包括所有llvm-gcc前端:
并非所有这些都必须经过测试,可能需要进行一些调整才能完成工作,但它们都应该没有太多麻烦。
答案 2 :(得分:7)
Vala,一种类似于C#的语言,它是Gnome项目的一部分。
答案 3 :(得分:5)
haXe.org:一种编译成各种语言的语言,包括C ++。
答案 4 :(得分:4)
答案 5 :(得分:2)
Fortran(http://en.wikipedia.org/wiki/F2c) COBOL(http://sourceforge.net/projects/open-cobol/) Perl(http://www.xav.com/perl/lib/B/C.html) Matlab的
我曾经认识一个想要学习如何编写解析器的人,但是当时并不想打扰代码生成。所以,他让他的解析器在C中打印出简单的语句,表达式和gotos。那么,这将是一个编译为C的C编译器(虽然非常糟糕的C): - )
答案 6 :(得分:1)
ooc(http://ooc-lang.org/),Virgil(http://compilers.cs.ucla.edu/virgil/overview.html),是Algol-to-C翻译的旧版本(废弃)
答案 7 :(得分:1)
Cython声称将Python编译为C