假设我为其中一个托管代码环境 (.NET/JVM) 设计了一种新的编程语言。我现在可以实现吗只需编写一个翻译器,将这种新语言的源代码翻译成平台的主要语言(C#/Java)然后让平台的编译器和其他工具处理剩下的过程?是否有任何简单的概念证明,这种方法的例子?
最佳答案
是的,只要语义映射正确,您就可以这样做(例如,在将 JavaScript 代码映射到诸如 C# 之类的语言时必须小心,因为范围规则不同)。
它不在托管平台上,但您可以查看 Vala .它是一种类似于 C# 的语言,可以编译为 C。Eiffel 也可以编译为 C(并支持编译为 Java)。
但是,如果您在托管平台上,您可能需要查看直接发出字节码。 Java 字节码并不难发出,因为 VM 负责并为更棘手的编译部分(例如管理堆栈帧)提供指令,并且 VM 消除了其他棘手的问题,例如寄存器分配。
关于programming-languages - 实现一种新的编程语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4140224/