首页 > 解决方案 > 我可以在 Python 中查看词法分析器和解析器的中间结果吗?

问题描述

随着 Python 3.9 的发布,它将解析器从 LL(1) 解析器更改为基于 PEG 的解析器,这让我想到我从未见过 Python (CPython) 的词法分析器或解析器。据我了解,图片看起来像

source -> lexer -> TOKENS
TOKENS -> parser -> AST
AST -> ??? -> pyc file

是否可以查看这些中间结果(TOKENS、AST、我错过的任何其他结果)?

标签: pythonpython-3.xparsingcpythonlexer

解决方案


ast.parse(some_string)会给你 ast 树。然后,您可以使用模块中的各种方法将其打印出来或以编程方式检查它。


推荐阅读