为了账号安全,请及时绑定邮箱和手机立即绑定

用作我的编译器的后端?

用作我的编译器的后端?

Go
撒科打诨 2021-05-06 17:35:23
我想为自己的编程语言编写一个编译器。流行的后端选择似乎是C,Java,LLVM,JVM字节码,.Net字节码,gcc,汇编...在这里,我正在考虑将Go用作后端的可能性。Go显然是一种快速的语言,具有垃圾回收和快速的编译时间。它也是便携式且免费的(BSD样式的许可证)。我认为,所有这些都将使Go成为代码生成目标的一个不错的选择,甚至可能比其他选择更好。Go将是代码生成的一个不错的选择吗?您能指出现有的项目吗,或解释为什么没有项目?甚至更好的是,您是否有使用Go语言作为后端的经验?我没有意识到任何不利之处吗?(我对转到此处特别感兴趣。不仅要指向其他后端选项,还已经有一些问题可以回答。)
查看完整描述

3 回答

?
HUWWW

TA贡献1874条经验 获得超12个赞

  • 我不知道有任何使用Go作为后端的语言项目。

  • Go并非设计为编译器后端或IR。

  • 围棋低级别不够(有点像C除了如GC)国际海事组织能用作后端的一些语言/类的语言有类似的语义/堪比/关闭到什么Go提供。

  • 很想了解您正在设计的语言;-)


查看完整回答
反对 回复 2021-05-17
?
慕码人8056858

TA贡献1803条经验 获得超6个赞

一个名为GoGo的项目该项目被描述为用Go编写的编译器,并为Go的子集进行汇编。基本上就像Go的精简版。我认为您可以先对其进行修改以解析您自己的语言。

我还记得Go带有自己的编译器的类似脚本语言的子集。我以为它叫GoScript,但似乎至少有3个不同的项目具有相同的名称,所以我找不到它。

我会说并分享您的经验。Go而不是后端,它将成为您的中间语言。至少那是我想您要做的。


查看完整回答
反对 回复 2021-05-17
?
神不在的星期二

TA贡献1963条经验 获得超6个赞

如果您将Go用作语言的后端,那么您的语言将与Go非常相似。

您将能够实施

  • 例行公事

  • 前往频道

  • GC

你不会有

  • 线程数

Go是非常好的语言。我看不到可以添加什么以使语言比Go更好。


查看完整回答
反对 回复 2021-05-17
  • 3 回答
  • 0 关注
  • 189 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信