CPython使用什么解析器生成器



我正在阅读文档中的此页面,并注意到它说

这是完整的 Python 语法,因为它由解析器生成器读取 并用于解析 Python 源文件

但是,我很难找出CPython使用的解析器生成器。那么CPython使用什么解析器生成器呢?是否有其他解析器生成器可以在不进行任何修改的情况下获取该页面上的语法?

Python 是开源的,所以你可以检查源代码...

在Python源目录中是一个"Parser"目录,其中包含"Python.asdl"和注释

-- ASDL 的四种内置类型是标识符、整数、字符串、对象

同一目录中还有一个"asdl.py"文件...

""Zephyr抽象语法定义语言的实现。请参阅 http://asdl.sourceforge.net/和http://www.cs.princeton.edu/research/techreps/TR-554-97仅支持顶级模块 decl,不支持查看。 我猜那个观点旨在支持浏览器,我对浏览器。对 Python 的更改:添加对模块版本的支持"""

因此,它似乎是一个自定义解析器生成器。 LALR(1) 解析器生成器并不难编写。

相关内容

  • 没有找到相关文章

最新更新