Python源碼剖析之準備工作,python源碼剖析

來源:互聯網
上載者:User

Python源碼剖析之準備工作,python源碼剖析

一個Python程式開發人員, 也是C語言愛好者, 為了加強自己對Python語言實現的理解, 最近選擇閱讀下陳儒老師的書, 對Python3.5.1源碼進行閱讀, 再次記錄下讀書筆記.

 一、Python的總體結構

Python總體分為三部分: 檔案系統(File Groups), 解譯器(Interpreter), 運行時環境(Runtim Environement):

檔案系統用於儲存Python指令檔(.py), 主要分為內建模組、第三方模組、使用者自訂模組;

解譯器用於完成Python指令檔的掃描、解析、編譯和運行,主要分為Scanner、Parser、Complier、Exauator四部分;

1、Scanner
用於對Python指令碼的詞法解析, 將指令碼切分為token

2、Parser
對所有token進行文法解析, 建立抽象文法樹

3、Complier

根據抽象文法樹, 建立指令集合(Python位元組碼)

 4、Exauator

運行Python位元組碼

 二、運行時環境主要分為對象/類型系統、記憶體 Clerk、運行時狀態資訊

1、對象/類型系統

包含Python的所有內建對象、使用者自訂的類型和對象

2、記憶體 Clerk
負責維護Python對象建立時對記憶體的申請 

3、運行時狀態資訊
負責維護解譯器在執行位元組碼時不同的狀態之間切換動作

 三、總體結構圖:

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.