python直譯器執行的流程

2021-06-29 09:02:04 字數 427 閱讀 3414

1.詞法分析:讀取**文件(互動模式、檔案模式、字串模式三種模式採取不同的讀取策略),將其轉化為乙個個token 如:

a = (2+3)*34

會將這個表示式轉換為a、=、(、2、+、3、)、*、34這幾個token,而且每乙個token都會儲存它的型別,比如a是乙個變數,34是乙個整數。

在這一步語法分析中會用到grammar檔案,這個檔案使用了chomsky 正規化描述了所有python中涉及到的語法。通過這個檔案配合了pgen工具生成基本的分析**。程式會利用該**來獲取到cst。

3.語法分析:將cst轉化為ast。

由於cst描述的語法會有很多的冗餘項,因此需要將其壓縮轉換為ast

4.將ast編寫為位元組碼

//還沒看到

5. 執行位元組碼

//還沒看到

PHP直譯器引擎執行流程

這裡將介紹引擎內部執行乙個php指令碼的流程,以cli sapi為例子來對流程中核心的部分做簡單介紹,省去一些初始化及清理操作。cli command line inte ce 即php的命令列模式,現在此sapi是預設安裝的,我們在伺服器上安裝完php之後,一般會生成乙個可執行檔案,假設此檔案為 ...

python直譯器配置 Python直譯器的配置

1 準備工作 安裝好pycharm2017版本 電腦上安裝好python直譯器 2 本地直譯器配置 配置本地直譯器的步驟相對簡潔直觀 1 單擊工具欄中的設定按鈕。2 在settings preferences對話方塊中選中 project interpreter頁面,在project interpr...

17 直譯器的執行過程

這裡將介紹引擎內部執行乙個php指令碼的流程,以cli sapi為例子來對流程中核心的部分做簡單介紹,省去一些初始化及清理操作。cli command line inte ce 即php的命令列模式,現在此sapi是預設安裝的,我們在伺服器上安裝完php之後,一般會生成乙個可執行檔案,假設此檔案為 ...