programming-languages - 实现一种新的编程语言

标签 programming-languages

假设我为其中一个托管代码环境 (.NET/JVM) 设计了一种新的编程语言。我现在可以实现吗只需编写一个翻译器,将这种新语言的源代码翻译成平台的主要语言(C#/Java)然后让平台的编译器和其他工具处理剩下的过程?是否有任何简单的概念证明,这种方法的例子?

最佳答案

是的,只要语义映射正确,您就可以这样做(例如,在将 JavaScript 代码映射到诸如 C# 之类的语言时必须小心,因为范围规则不同)。

它不在托管平台上,但您可以查看 Vala .它是一种类似于 C# 的语言,可以编译为 C。Eiffel 也可以编译为 C(并支持编译为 Java)。

但是,如果您在托管平台上,您可能需要查看直接发出字节码。 Java 字节码并不难发出,因为 VM 负责并为更棘手的编译部分(例如管理堆栈帧)提供指令,并且 VM 消除了其他棘手的问题,例如寄存器分配。

关于programming-languages - 实现一种新的编程语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4140224/

相关文章:

programming-languages - 是否可以编写不是用 Java 编写的多平台程序

python - 在 Python3 中, `import` 是否可以传递?

programming-languages - 我可以在 printf() 函数中使用 scanf() 函数来提供定义的输出吗?

字符串和算术运算的 PHP 连接

python - 为什么我的程序不读取引用文件(文件名)中的第一行代码?

c - 需要麦克劳林级数和泰勒级数编程帮助吗?

programming-languages - 什么是面向数据的编程?

programming-languages - 有没有面向上下文的编程语言,它们有什么用?

java - 选择什么样的技术栈

c# - 为什么 C# 不接受 bool 运算符作为单词 ("and", "or", "not",..etc) 与当前运算符?