慕運維8079593
2021-03-30 13:15:30
我想解析Python源代碼,以嘗試制作從Python到Go的基本源代碼轉換器。我應該使用哪個模塊?我應該繼續嗎?如果我應該繼續,該怎么辦?
3 回答
臨摹微笑
TA貢獻1982條經驗 獲得超2個贊
至于“我應該繼續還是最好不要”的問題:為什么首先要這樣做?
如果這是純粹的學習活動,那么您不需要詢問我們是否值得。您想學習,所以繼續前進。
如果打算將其用作實用工具,那么我的建議是不要這樣做。具有行業實力的工具來執行此類轉換可能會很有用,但我想您不會走那么遠。考慮到這一點,在Go中手動重寫Python代碼可能更富有成果。
假定對Go進行編譯有任何真正的好處;當前的測試表明,使用Stackless Python可以獲得更好的性能和類似的代碼結構。
ITMISS
TA貢獻1871條經驗 獲得超8個贊
Boo解決方案
您是否正在嘗試制作一種可以編譯成Go的類似python的語言?這似乎是最明智的做法,因為您將想要做特定于Go的事情(以利用Go功能)。
看看pyparsing。它包括一個完整的python解析器的示例,但您可能不想這樣做。
您想增量地構建轉換器/轉換器,所以要增量地構建解析器,否則可能會阻塞AST。好的,您可以解析所有內容,而忽略不了解的內容,但這不是編譯器的好行為。
您可以從解析基本算術開始。
派熱克斯解決方案
這類似于Boo解決方案,但難度更大。首先使Boo解決方案生效。然后學習生成包裝器代碼,以便您的Go和python部分可以一起工作。
PyPy解決方案
完整的Python-Go編譯器?祝你好運。您將需要它。
- 3 回答
- 0 關注
- 388 瀏覽
添加回答
舉報
0/150
提交
取消
