我想做一个编译的语言。我目前正在评估后端。迄今为止我看C由于其执行的速度,编制和一个小型、易于使用的编译器称为TCC。

具有读这里的讨论有关使用它作为中间体的语言,我想考虑如何使其与垃圾收集和处理例外情况。迄今为止,我想我可以解决,但是与多的开销。

这里有我的一些想法的其他可能的后台:

  1. 大会:无法移植和一个总的痛苦程序。
  2. .网:感觉很缓慢。5秒钟时间启动和5秒评估1+2月Ironpython和Boo。无法运行而没有大型图书馆。
  3. JVM:感觉有点缓慢。没有访问的二进制图书馆。无法运行而没有大型图书馆。
  4. 编程:没有窗户的支持。我听到了,已编译可执行的大小是16mb+
  5. C--:看起来很不发达。
  6. C++:可能的。不可能找到一个不错的小费我可束。

可以在任何你改变我的心意或者有更多的添加到这个清单?

编辑

我已经尝试与编程。我发现他们已经预先编译文,它可能编纂司机会。

http://www.antlr.org/wiki/display/CS652/Generating+machine+executable+binaries+with+LLVM

这里是步骤:

  1. 运行编程作为在文化、产品展示会,这将产生一种编程字节的文件。
  2. 运行llc在编程字节的文件以产生一个大会文件。
  3. 运行一个汇编的大会文件以产生一个目的文件。(或运行编程ld这似乎取决于外部安装c编译器)
  4. 编译可执行与海湾合作委员会等等。
有帮助吗?

解决方案

你有没有考虑编写一个前端 海湾合作委员会?我提到这一点,为了完整的缘故只能–因为我知道后台接口是相当复杂的和代码是巨大和难以理解。

另一方面,海湾合作委员会是一个成熟的产品与许多专家的程序员的工作。至少,它可能提供了最坚实的基础上,所有替代方案。

就个人而言,我宁可编程(令人兴奋的体系结构)。净的IL:非常,非常容易使用,具有伟大的工具,支持(反射器, 塞西尔, Reflexil 最后但并非最不重要的。净反映API)和两个非常有效的实现(即Microsoft的规范的实施和单).

但我不能要求的专业知识的任何结构所以采取这种答案的一粒盐。

其他提示

在这种情况下编程可能是一个更好的选择。

编程有窗户的支持,它只是需要一些时间来编译

C++不会给你很多,使用C替代。但如果你想要你的语言被使用的网页,使用。网或Java,确保他们加载缓慢但当他们,他们尽快C。

对于 SmartEiffel 我们使用C作为后端。

Tcc是一个非常好的选择发展-尽管不是最后释放(所产生的对象是相当于海湾合作委员会-O0)

另一个添加到名单:光荣最近实施的一般上 因数后台.我还没试过这个了我自己,但我有感觉这会提供更多的功能,你想要从更高级的更像小/性能从较低的水平。

TCC是最好的选择。它是便携式的,并且它拥有一个图书馆,以便它可以很容易地被用来作为后端是被称为libtcc.可执行的是比较小的海湾合作委员会,它是ANSI C。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top