亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用python解析* .py文件?

如何使用python解析* .py文件?

Go
慕運維8079593 2021-03-30 13:15:30
我想解析Python源代碼,以嘗試制作從Python到Go的基本源代碼轉換器。我應該使用哪個模塊?我應該繼續嗎?如果我應該繼續,該怎么辦?
查看完整描述

3 回答

?
慕尼黑5688855

TA貢獻1848條經驗 獲得超2個贊

看一下語言服務包,尤其是ast。

我的猜測是,如果您對解析和代碼生成技術都沒有足夠的了解,那么這將是一個困難的項目。

祝你好運!


查看完整回答
反對 回復 2021-04-26
?
臨摹微笑

TA貢獻1982條經驗 獲得超2個贊

至于“我應該繼續還是最好不要”的問題:為什么首先要這樣做?

如果這是純粹的學習活動,那么您不需要詢問我們是否值得。您想學習,所以繼續前進。

如果打算將其用作實用工具,那么我的建議是不要這樣做。具有行業實力的工具來執行此類轉換可能會很有用,但我想您不會走那么遠。考慮到這一點,在Go中手動重寫Python代碼可能更富有成果。

假定對Go進行編譯有任何真正的好處;當前的測試表明,使用Stackless Python可以獲得更好的性能和類似的代碼結構。


查看完整回答
反對 回復 2021-04-26
?
ITMISS

TA貢獻1871條經驗 獲得超8個贊

Boo解決方案

您是否正在嘗試制作一種可以編譯成Go的類似python的語言?這似乎是最明智的做法,因為您將想要做特定于Go的事情(以利用Go功能)。

看看pyparsing。它包括一個完整的python解析器的示例,但您可能不想這樣做。

您想增量地構建轉換器/轉換器,所以要增量地構建解析器,否則可能會阻塞AST。好的,您可以解析所有內容,而忽略不了解的內容,但這不是編譯器的好行為。

您可以從解析基本算術開始。

派熱克斯解決方案

這類似于Boo解決方案,但難度更大。首先使Boo解決方案生效。然后學習生成包裝器代碼,以便您的Go和python部分可以一起工作。

PyPy解決方案

完整的Python-Go編譯器?祝你好運。您將需要它。


查看完整回答
反對 回復 2021-04-26
  • 3 回答
  • 0 關注
  • 388 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號