我写了一些编程语言(主要用于教育目的和乐趣,但也用于概念和内容的证明)。
我所做的是使用antlr的语法和验证代码的编译器。
验证后,编译器应该使用一些较低级别的代码,例如JVM Bytecode或CIL Bytecode。
但是,我想知道,在这一点上选择什么是一个不错的选择。
我担心的是我的语言功能无法在字节码变体中实现。 例如,JVM字节码没有无符号数字基元类型,并且没有泛型类型的定义。 另一方面,CIL字节码使用了与我想要实现的不同的泛型方式,所以我也不能使用它。
我听说机器代码直接在处理器上运行,并且不同版本的处理器需要不同的字节码。 我正在寻找的是一些可以独立于处理器运行的字节码语言(我不在乎是否必须为Windows,Linux或Mac制作单独的版本,只要所有Windows机器使用相同的字节码,所有Linux机器使用相同的字节码,所有Mac机器都使用相同的字节码。
我还希望能够编写类的结构(包括实例头等)。
基本上,我希望使用低级机器语言来编译我的语言。 当然,它必须以某种方式执行。