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

我想解析Python源代码,以尝试制作从Python到Go的基本源代码转换器。

  • 我应该使用哪个模块?

  • 我应该继续吗?

  • 如果我应该继续,该怎么办?


慕运维8079593
浏览 291回答 3
3回答

慕尼黑5688855

看一下语言服务包,尤其是ast。我的猜测是,如果您对解析和代码生成技术都没有足够的了解,那么这将是一个困难的项目。祝你好运!

临摹微笑

至于“我应该继续还是最好不要”的问题:为什么首先要这样做?如果这是纯粹的学习活动,那么您不需要询问我们是否值得。您想学习,所以继续前进。如果打算将其用作实用工具,那么我的建议是不要这样做。具有行业实力的工具来执行此类转换可能会很有用,但我想您不会走那么远。考虑到这一点,在Go中手动重写Python代码可能更富有成果。假定对Go进行编译有任何真正的好处;当前的测试表明,使用Stackless Python可以获得更好的性能和类似的代码结构。

ITMISS

Boo解决方案您是否正在尝试制作一种可以编译成Go的类似python的语言?这似乎是最明智的做法,因为您将想要做特定于Go的事情(以利用Go功能)。看看pyparsing。它包括一个完整的python解析器的示例,但您可能不想这样做。您想增量地构建转换器/转换器,所以要增量地构建解析器,否则可能会阻塞AST。好的,您可以解析所有内容,而忽略不了解的内容,但这不是编译器的好行为。您可以从解析基本算术开始。派热克斯解决方案这类似于Boo解决方案,但难度更大。首先使Boo解决方案生效。然后学习生成包装器代码,以便您的Go和python部分可以一起工作。PyPy解决方案完整的Python-Go编译器?祝你好运。您将需要它。
打开App,查看更多内容
随时随地看视频慕课网APP