我正在寻找一个Python导入过滤器或预处理器来处理源文件,这些源文件基本上是Python与额外的语言元素。目标是读取源文件,将其解析为抽象语法树,应用一些变换以实现语言的新部分,然后编写有效的Python源代码,然后由CPython使用它。我想用Python编写这个东西,并且为这个任务寻找最好的解析器。用于类Python语言的Python解析器
Python内置的解析器并不合适,因为它要求源文件是实际的Python,而这些不是。有大量的解析器(或解析器生成器)可以与Python一起工作,但很难分辨哪个是最适合我的需求而无需大量研究的。
总之,我的要求是:
- 分析器是用Python写的或有Python绑定。
- 附带一个我可以调整的Python语法,或者可以轻松使用其他地方可用的可调整Python语法(如http://docs.python.org/reference/grammar.html)。
- 转换后可以重新序列化AST。
- 应该不太可怕,不能用API来工作。
有什么建议吗?
只是要清楚:你要解析的语言甚至不*解析*为纯Python。正确? – 2012-02-23 20:09:45
您考虑过研究PyYAML吗? – inspectorG4dget 2012-02-23 20:17:52
@SvenMarnach:这是正确的。 – kindall 2012-02-23 20:17:57