如何编译新的/自定义语言?

时间:2017-10-25 15:12:52

标签: compiler-construction code-generation machine-code

我写了一些编程语言(主要用于教育目的和乐趣,但也用于概念和内容的证明)。

我所做的是使用antlr的语法和验证代码的编译器。

验证后,编译器应该使用一些较低级别的代码,例如JVM Bytecode或CIL Bytecode。

但是,我想知道,在这一点上选择什么是一个不错的选择。

我担心的是我的语言功能无法在字节码变体中实现。 例如,JVM字节码没有无符号数字基元类型,并且没有泛型类型的定义。 另一方面,CIL字节码使用了与我想要实现的不同的泛型方式,所以我也不能使用它。

我听说机器代码直接在处理器上运行,并且不同版本的处理器需要不同的字节码。 我正在寻找的是一些可以独立于处理器运行的字节码语言(我不在乎是否必须为Windows,Linux或Mac制作单独的版本,只要所有Windows机器使用相同的字节码,所有Linux机器使用相同的字节码,所有Mac机器都使用相同的字节码。

我还希望能够编写类的结构(包括实例头等)。

基本上,我希望使用低级机器语言来编译我的语言。 当然,它必须以某种方式执行。

0 个答案:

没有答案
相关问题