我想解析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 关注
- 309 浏览
添加回答
举报
0/150
提交
取消