我可以在 Python 中查看词法分析器和解析器的中间结果吗?
Can I view intermediate results of lexer and parser in Python?
随着 Python 3.9 的发布,它将解析器从 LL(1) 解析器更改为基于 PEG 的解析器,这让我觉得我从未见过 Python (CPython)。据我了解,图片看起来像
source -> lexer -> TOKENS
TOKENS -> parser -> AST
AST -> ??? -> pyc file
是否可以查看这些中间结果(TOKENS、AST 以及我遗漏的任何其他结果)?
ast.parse(some_string)
会给你 ast 树。然后您可以使用模块中的各种方法打印出来或以编程方式检查它。
随着 Python 3.9 的发布,它将解析器从 LL(1) 解析器更改为基于 PEG 的解析器,这让我觉得我从未见过 Python (CPython)。据我了解,图片看起来像
source -> lexer -> TOKENS
TOKENS -> parser -> AST
AST -> ??? -> pyc file
是否可以查看这些中间结果(TOKENS、AST 以及我遗漏的任何其他结果)?
ast.parse(some_string)
会给你 ast 树。然后您可以使用模块中的各种方法打印出来或以编程方式检查它。