作为我的编译器的后端?

Eld*_*rum 6 compiler-construction code-generation backend go

我想为我自己的编程语言编写一个编译器.流行的后端选择似乎是C,Java,LLVM,JVM字节码,.Net字节码,gcc,汇编......在这里,我正在考虑Go作为后端的可能性.

Go显然是一种快速语言,具有垃圾收集和快速编译时间.它也是便携式和免费的(BSD式许可证).所有这些都会让Go成为一个很好的选择作为代码生成的目标,我想,甚至可能比其他选项更好......所以我很惊讶我找不到任何人这样做.

Go会是代码生成的好选择吗?你能指出现有项目这样做,还是解释为什么没有?或者甚至更好,您是否有使用Go语言作为后端的经验?我不知道有什么缺点吗?

(我对Go在这里特别感兴趣.不要只指出备用的后端选项,有问题已经回答.)

zzz*_*zzz 6

  • 我不知道任何使用Go作为后端的语言项目.
  • Go 不是设计为编译器后端和IR.
  • 围棋低级别不够(有点像C除了如GC)国际海事组织能用作后端的一些语言/类与语义相似/相当/紧挨什么Go提供语言.
  • 希望更多地了解您正在设计的语言;-)

  • FWIW:#1可能部分是由于年轻而不是非常成熟(直到1.0发布*至少*).#2对于C,JavaScript和C++也是如此,可能还有一些其他语言用作*something*的后端. (2认同)