Programming languages 字节码设计?
我正在设计一种可编译成中间字节码的编程语言。然而,我在设计字节码结构时遇到了很多麻烦。有人对如何用二进制表示程序有什么指点吗?或者,有没有关于如何做到这一点的资源(最好是免费的)?我找到的最接近的是Programming languages 字节码设计?,programming-languages,bytecode,vm-implementation,Programming Languages,Bytecode,Vm Implementation,我正在设计一种可编译成中间字节码的编程语言。然而,我在设计字节码结构时遇到了很多麻烦。有人对如何用二进制表示程序有什么指点吗?或者,有没有关于如何做到这一点的资源(最好是免费的)?我找到的最接近的是 编辑:更多信息:我正在实现我自己的垃圾收集方案,该方案针对不变性和并发性进行了大量优化。为了提高效率,我需要一些独特的字节码指令,允许程序与垃圾收集方案进行交互。您可能会发现查看维基百科关于字节码的文章很有用“并遵循一些您感兴趣的时代和风格的语言参考。介绍了GNU Smalltalk VM及其字节码
编辑:更多信息:我正在实现我自己的垃圾收集方案,该方案针对不变性和并发性进行了大量优化。为了提高效率,我需要一些独特的字节码指令,允许程序与垃圾收集方案进行交互。您可能会发现查看维基百科关于字节码的文章很有用“并遵循一些您感兴趣的时代和风格的语言参考。介绍了GNU Smalltalk VM及其字节码。谷歌搜索“smalltalk字节码”会带来其他资源。不要设计你的字节码。这是没有必要的 我建议您深入研究并为您做大量的艰苦工作,在注释内容并解决范围等问题之后,只需要创建一个类似AST的模式进行翻译 龙之书还包括一些关于字节码的章节。计算机编程的艺术也可能有所帮助,因为混合语言陈述了一些(过时的)但重要的设计决策 实际上,您的中间代码应该是:
有关字节码优化的讨论,请参阅。谢谢您的输入,但我的语言最具创新性的功能在于内置数据结构及其垃圾收集方式,不幸的是,这些功能必须在VM级别实现。@Imagist。。。然后,也许一种前进的方式是构建一个字节码引擎,允许外部钩住这些东西,创建一个具有事件驱动内部和功能委托的字节码引擎。这将是非常棒的,它将允许人们在BC中指定他们想要使用的GC(以及其他东西)