Questions tagged «virtual-machine-languages»

6
为什么没有其他可编译为Python字节码的编程语言?
在Java中,有多种语言可以编译为Java字节码,并且可以在JVM上运行-Clojure,Groovy和Scala是我能记住的主要语言。 但是,在由Python解释器运行之前,Python也会转换为字节码(.pyc文件)。我可能只是一无所知,但是为什么没有其他可编译为python字节码的编程语言呢? 仅仅是因为没有人打扰,还是因为某种固有的限制或障碍使得这样做变得如此困难?

3
我想构建一个虚拟机,有什么好的参考资料吗?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 4年前关闭。 我希望将虚拟机构建为平台独立的方式来运行一些游戏代码(基本上是脚本)。 我在游戏中意识到的虚拟机已经很老了:Infocom的Z-Machine,LucasArts的SCUMM,id Software的Quake 3。作为.net开发人员,我熟悉CLR,并研究了CIL指令以概述您在VM级别(与语言级别)上实际实现的内容。去年,我还涉猎了6502 Assembler。 问题是,既然我想要¹实施它,我就需要更深入地研究。我知道有基于堆栈和基于注册的虚拟机,但我真的不知道哪种虚拟机在什么方面更好,以及是否有更多或混合的方法。我需要处理内存管理,确定哪些低级类型是VM的一部分,并且需要了解ldstr之类的东西为何以这种方式工作。 我唯一的参考书(除了Z-Machine之外)是CLI注释标准,但是我想知道是否有针对VM的更好,更通用/更基础的讲座?基本上像《龙书》,但适用于虚拟机?我知道Donald Knuth的计算机编程艺术,它使用基于寄存器的VM,但是我不确定该系列的适用性如何,尤其是因为它尚未完成? 澄清:目标是构建专用的VM。例如,Infocom的Z机包含用于设置背景颜色或播放声音的操作码。因此,我需要确定进入VM的OpCodes数量与使用脚本(语言TBD)并从中生成字节码的编译器的数量有关,但是为此,我需要了解自己的实际工作。 ¹我知道,现代技术将使我能够即时解释高级脚本语言。但是那有什么乐趣呢?:)谷歌搜索也有点困难,因为如今虚拟机通常与VMWare型OS虚拟化相关联...
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.