我目前正在使用正在编译c的Eiffel(SmartEiffel/ISE Eiffel).
如果输出进入可移植的声明语言(也称为C),我发现使用新功能或工具支持自行扩展语言要容易得多.
哪种通用的非功能语言也具有此功能.
我知道有过时的C++预编译器,我甚至找到了一个旧的Objective-C.
(我也听说过((Scheme和Lisp)编译器)但我不喜欢这个(语言)).
请列出仅FOSS(免费开源)项目,因为我需要研究它们.
Nim是一种非常现代的语言,编译为C
http://nim-lang.org
好吧,有一些警告处理异常和浮点数等事情,但llvm可以输出C(虽然没有人在生产中使用它,所以它经常滞后于主要版本).这意味着任何可以静态编译的基于LLVM的语言都可以输出到C,包括所有llvm-gcc前端:
C++(llvm-gcc/DragonEgg和Comeau)
Fortan(llvm-gcc/DragonEgg)
阿达(llvmgcc)
Ruby(MacRuby)
D(LDC)
Lua(LLVM-Lua)
PHP(Roadsend PHP)
并非所有这些都必须经过测试,可能需要进行一些调整才能完成工作,但它们都应该没有太多麻烦.
Vala,一种类似于C#的语言,是Gnome项目的一部分.
haXe.org:一种编译成各种语言的语言,包括C++.
Sather,Mercury,Felix,Seed7以及其他许多...编译器生成C(或C ++)的情况非常普遍,通常被视为“便携式汇编语言”,它具有依赖于C编译器经验的其他优点。作家来做优化。