回复内容:
用Python实现的Python解释器,最出名并且完成度最高的当PyPy莫属。
不过如果是想用Python来实现一个跟CPython相同思路的简单的解释器的话,参考这个挺好的:A Python Interpreter Written in Python
更多资料请跳传送门:
有没有内容类似于《Python源码剖析》,但内容更新过,针对新版本的Python书籍? – RednaxelaFX 的回答
用 JavaScript 写成的 JavaScript 解释器,意义是什么? – RednaxelaFX 的回答当然是可以的,但是和编译器不同,编译器可以自己编译自己,解释器不能自己解释运行自己,最外层的解释器总需要用其他一些程序来运行的。但是最外层的解释器可以只解释这个语言的一个子集,然后里层的解释器用这个子集实现更多更完整的功能,这样外层的C的解释器可以保持不变,添加新功能的时候,只要把用Python写的内层解释器升级就行了。PyPy的思路就跟这个类似。功能比较完备的语言,实现自X都是比较容易的。比如C/C++的编译器,现在都是使用C/C++开发的。当然可以,比如著名的PyPy其实我觉得问者想问的是,可以用一门语言来实现一门语言的编译器么(同一门语言)?
答:最开始不可以,之后可以。
简单地说:就是“自举”
为什么呢?
因为如果从机器角度,我们必须用机器现在能识别的语言来编写一门新语言的编译器。
一旦做出编译器之后,你如果可以拿着这个2进制编译器去编译你用同一门语言写的编译器。
这就是“自举”
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2301692.html