Python字节码,解释器和虚拟机
-
30-09-2019 - |
题
这是一个非常巨大的问题,我主要是在寻找可以了解以下内容的更多资源。
我知道Python解释器是用C编写的,并生成要在python虚拟机上运行的字节码(对吗?)。我的问题是,是否可以在Python本身中实施这两个?我想我要去哪里,是(技术)在Python上写下类似内容的可能性,尤其是在没有静态编译的情况下?
如果我正确理解的话,Python没有一个汇编器,必须在Python中编写。这些事情在技术上(可行吗?)可以做到吗?还是Python的动态键入会带来某种问题?
我对微处理器架构,组装和机器代码有些了解,这是EE毕业生在学校中所学的内容。但是我已经迷失方向,看了整个图片,例如Python等更高级别的语言。
解决方案
您首先需要用任何语言编写Python编译器(不是解释器),最好是Python。编译器的第一运行将需要通过解释器运行。
然后,您将与其自身编译编译器,从而导致不需要解释器的本机编译器。
然后,您可以使用编译器将任何Python编译为本机代码。
此过程称为引导,许多语言的主要编译器(即使不是大多数)使用。
您可以在此处阅读有关此过程的更多信息: http://en.wikipedia.org/wiki/bootstrapping_(compilers)
至于创建操作系统,如果要避免编译的代码,您将需要最低限度地实现Python解释器。如果您将Python解释器作为微粒写,则可以在Python中编写操作系统的其余部分。 (编辑:我只是无意间描述了贾罗(Jiaaro)提到的克莱斯(Cleese):))
不隶属于 StackOverflow