當前位置:
首頁 > 最新 > Python實現解釋器

Python實現解釋器

導語

利用Python實現一個簡單的解釋器。。。

主要目的是給大家簡單地展示一下Python解釋器的實現機制。。。

放心,僅此一次。。。

因為。。。

我自己看這個也腦闊疼。。。

很多細節不必去深究。。。

反正深究了你也不一定懂。。。

如果你決心想研究Python的這一領域,前面的所有話都當我沒說。。。

並且我由衷地祝福大佬一路順風。。。

參考文獻

(1)Python實現Python解釋器

http://aosabook.org/en/500L/a-python-interpreter-written-in-python.html

(2)Byterum源代碼

https://github.com/nedbat/byterun

(3)CPython源代碼

https://github.com/python/cpython

(4)其他零散的網路資源

主要思路

解釋器主要參考了Byterun的架構。。。

可以說是其簡易版本。。。

主要實現的內容:

(1)創建VirtualMachine類管理最高層的結構(如調用棧);

(2)創建Frame類用於code_object引用和管理必要的狀態信息;

(3)創建Function類用於控制新的幀的創建;

(4)創建Block類用於控制代碼流程。

具體的流程詳見源代碼。。。

能注釋和翻譯的內容我都寫在源代碼里。。。

開發工具

Python版本:2.7.13

環境搭建

安裝Python並添加到環境變數即可。

使用演示

在下圖所示位置輸入需要運行的代碼:

在cmd窗口運行Interpreter.py文件即可:

更多

這篇文章的技術細節真的不需要去深究。。。

再說的明白點就是這篇文章大多數人把它當作一篇水文好了。。。

我以後肯定也不會再發這類文章。。。

文章的最大目的還是為了說明Python可以應用的領域十分廣泛(因為之前好多人問我Python能幹嘛之類的問題)。。。

當然它也很簡單易上手(Python解釋器里一個簡單的功能或許寫成C語言就是幾千行)。。。

That"s all..........

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Python 的精彩文章:

Python代碼技巧,你值得擁有!
Python爬蟲的債市小試(二)

TAG:Python |