kin*_*all 13 python parsing code-generation
我正在寻找为源文件编写Python导入过滤器或预处理器,这些源文件本质上是带有额外语言元素的Python.目标是读取源文件,将其解析为抽象语法树,应用一些转换以实现语言的新部分,并编写有效的Python源,然后CPython可以使用它.我想用Python编写这个东西,我正在为这个任务寻找最好的解析器.
内置于Python的解析器是不合适的,因为它要求源文件是实际的Python,而这些不是.有大量的解析器(或解析器生成器)可以与Python一起使用,但如果没有大量的研究,很难说哪个是最适合我的需求.
总之,我的要求是:
有什么建议?
我建议您查看我的库:https://github.com/erezsh/lark
它可以解析所有上下文无关语法,自动构建 AST(带有行号和列号),并接受 EBNF 格式的语法,这被认为是标准。
它可以轻松解析像 Python 这样的语言,并且比任何其他用 Python 编写的解析库更快。