哪些通用编程语言/实现编译为C语言

时间:2009-11-12 12:20:46

标签: compiler-construction programming-languages

我目前正在使用正在编译为c。

的Eiffel(SmartEiffel / ISE Eiffel)

如果输出进入便携式声明语言(也称为C),我发现使用新功能或工具支持自行扩展语言要容易得多。

哪种通用非功能语言也有此功能。

我知道已经过时的C ++预编译器,我甚至找到了一个旧的Objective-C。

(我也听说过((Scheme和Lisp)编译器)但我不喜欢这个(语言))。

请列出FOSS(免费开源)项目,因为我需要研究它们。

8 个答案:

答案 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)

SatherMercuryFelixSeed7以及其他许多人...编译器生成C(或C ++)是很常见的,通常被视为“可移植汇编语言”,它具有依靠C编译器编写者的经验来进行优化的额外优势。

答案 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