![]() |
1
7
我想补充一点。语法如c,has lambdas, 非常受欢迎 ,具有非常快速的HQ实现,可编译为本机代码,在任何地方都可用。 双加: 你可以在任何网页浏览器中演示你的编译器,如果你有什么东西可以开发出JavaScript,那么今天大家都在听。 |
![]() |
2
3
如果您的后端仅仅是普通的C语言,那么您将不支持基本语言的几个构造,但是您将获得与其他语言的兼容性(几乎所有语言都可以轻松地链接到C库)。您可以用您的语言编写程序的某些部分,也可以用其他语言编写某些部分。编译速度也很快。 许多解析器生成器正在生成C代码,因此这也并不少见。 |
![]() |
4
1
奥卡姆、哈斯克尔、C99、ADA2005、Scheme或Lisp呢? 我不认为有任何特定的高级语言适合作为另一个编译器的目标语言。 |
![]() |
5
1
我认为google的go是一种很好的目标语言。GO试图对现代语言做些什么——C十年前对C++和Java所做的努力——改进它,使它“更好”(在观察者眼中)。 你也应该确保Lua是支持的,这是不难做到的,因为它背负在C/C++上我认为(?)?) |
![]() |
6
0
为此,Lisp Dalects也不错。实际上,lisp s-expressions可以看作是前端发出的ast s的文本表示,类似于使用JSON或XML序列化ast。另外,许多Lisp实现支持宏,允许您定义新的语法来实现AST中默认情况下Lisp不支持的条目。一旦你有了Lisp代码,你就可以从无数的解释器、编译器和平台中选择(即使是硬件,如果你使用的是臭名昭著的Lisp机器的话)。 如果您正在寻找更“传统”的目标语言,我建议您使用C或JavaScript(顺便说一句,JavaScript甚至是一些Perl6编译器的目标)。或者尝试某种高级汇编程序。 |
![]() |
AstralHex · 矩阵乘法代码工作不正常 7 月前 |
![]() |
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 7 月前 |
![]() |
Die4Toast · 递归调用成员箭头运算符-> 7 月前 |
![]() |
Anka Hanım · 关于结构和动态数组地址的问题 7 月前 |