gpt4 book ai didi

python - CPython 使用什么解析器生成器?

转载 作者:太空狗 更新时间:2023-10-30 00:11:47 29 4
gpt4 key购买 nike

我正在阅读 this page在文档中,并注意到它说

This is the full Python grammar, as it is read by the parser generator and used to parse Python source files

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

最佳答案

Python 是开源的,因此您可以检查源代码...

在 Python 源目录中是一个“Parser”目录,其中包含带有注释的“Python.asdl”

-- ASDL's four builtin types are identifier, int, string, object

在同一目录中还有一个“asdl.py”文件...

"""An implementation of the Zephyr Abstract Syntax Definition Language.See http://asdl.sourceforge.net/ andhttp://www.cs.princeton.edu/research/techreps/TR-554-97Only supports top level module decl, not view.  I'm guessing that viewis intended to support the browser and I'm not interested in thebrowser.Changes for Python: Add support for module versions"""

所以看起来它是一个自定义解析器生成器。 LALR(1) 解析器生成器并不难编写。

关于python - CPython 使用什么解析器生成器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10748648/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com