當前位置:
首頁 > 知識 > Python之父考慮使用 PEG Parser 重構Python解釋器

Python之父考慮使用 PEG Parser 重構Python解釋器

近日,Python 之父吉多·范羅蘇姆發表一篇名為《PEG Parser》的文章,范羅蘇姆表示,他正考慮使用 PEG Parser 代替現有的類 LL (1) Parser(名為 pgen),來重構 Python 解釋器。

范羅蘇姆表示,現在的 pgen 限制了 Python 語法的自由度,使得一些語法難以實現,也讓當前的語法樹不夠整潔,一定程度上影響了語法樹的表意,不能最好地體現設計者的意圖。

PEG 語法解釋器在解析語法的時候,會一次性載入全部代碼,所以解釋器可以根據任意位置的符號來判斷語法的語義。而目前的 LL (1) Parse 解析語法的時候只會向前檢測一個符號,來猜測語義,導致部分語法有二義性的表現,進而限制了 Python 語言的語法定義方式。當然,一次性載入全部代碼,也意味著 PEG Parser 需要更大的內存來運行。

針對上述情況,Python 解釋器處理不了的問題就只能讓 Python 團隊不斷在代碼中加入「特例」來處理這些邊緣情況。范羅蘇姆稱,Python 剛出來的時候,內存還是很貴的,LL (1) Parse 使用非常合適,但是現在內存價格已經大幅降低,所以用 PEG Parser 重構 Python 更加合適。

范羅蘇姆表示,用 PEG Parser 重構 Python 解釋器不會造成語法上的影響,因為底層重構不會影響 Python 語法。

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

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


請您繼續閱讀更多來自 Linux資訊速推 的精彩文章:

openSUSE Leap 42.3支持已於2019年6月底到期
案例六:shell腳本監控httpd服務80埠狀態

TAG:Linux資訊速推 |