Python語言服務 parser(2)

2021-04-24 23:07:23 字數 933 閱讀 5363

譯者:winterttr

ast物件的建立,來自於源**或者語法分析樹。當從源**建立ast物件時,不同的函式用來建立eval或者exec的形式。

expr( source)

這個函式用來分析引數source的**,就好像利用compile(source, 'file.py', 'eval')。如果分析成功,返回ast物件代表內部語法樹結構,否則丟擲異常。

suite( source)

suite函式解析source的**,就好像利用compile(source, 'file.py', 'exec')。如果分析成功,返回ast物件代表內部語法樹結構,否則丟擲異常。

sequence2ast( sequence)

這個函式接受乙個序列形式的語法分析樹,在可能的情況下,建造內部表示。如果能夠驗證樹符合python語法規則同時所有的節點都是當前版本python的有效節點,那麼,乙個ast物件被建立,並返回。如果在建立內部表示的時候出現問題,或者樹不能被驗證,parsererror的異常被丟擲。通過這種方式建立的ast物件,不應該被預設為是可以正確編譯的,當ast物件被傳遞給compileast()函式時,一般的編譯異常扔可能被丟擲。但是,這並不一定代表語法錯誤(例如:memoryerror異常),但是仍可能來自於語法的構建,例如:del f(0)這種能夠通過python的語法分析,但是會被位元組碼編譯器檢出。

代表終止序列的token可能被表示成帶個元素的列表(1, 'name')或者三個元素的列表(1, 'name', 56)。當第三個元素被標示出來時,代表乙個有效的行號。這個數字代表在輸入樹中的任何乙個終止序列的子集。

tuple2ast( sequence)

與sequence2ast()相同,只是用來保持向後相容性。

Parse入門教程 服務的搭建及使用

parse介紹 在開發網際網路服務時,除了常規的c s,b s架構,還存在一種serverless的開發方式,後端是主要是作為乙個資料儲存的功能,對於前端開發人員,或者是小規模團隊,在開發需要後端資料讀寫及簡單處理邏輯的場景下,提供了極大的便利性。目前serverless的服務,最有代表性的是goo...

Python全棧開發 XML與parse對比

usr bin env python coding utf 8 et.xml和et.parse的對比 1 返回物件差異 et.xml returns an element instance,xml.etree.elementtree.element物件不具有寫的功能 et.parse 返回eleme...

Parse 關停與開發者服務健康發展

2016年1月28日,parse 官方宣布將於1年後關閉 parse 服務。這應該是這幾天以來開發者服務市場,或者移動網際網路開發者圈子裡最為震撼的乙個訊息了。parse 在開發者服務領域裡很有影響力,有很多的使用開發者,產品也比較完整 專業,就拿他們的開發者文件來說,對我的兩次創業都產生了很大的影...