python - 我可以在 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 树。然后,您可以使用模块中的各种方法将其打印出来或以编程方式检查它。
推荐阅读
- java - 有没有办法加密可以在网络资源中看到的表单数据头值?
- vue.js - 我如何全局注册组件并定义默认行为?
- c# - 如何使用更新上下文消息获取更新的字段
- r - 如何检查 R 包“extRemes”中“return.level”的源代码?
- google-app-engine - 身份验证过程中显示消息“暂时禁用此应用的 Google 登录”
- python - PyTorch 训练时内存不断累积
- java - 如何在spring boot中使用数组中的数组?
- oracle - 从 ADO 调用 Oracle SP
- wpf - 如何在 ListViewItem 中绑定数据?
- sql - 如何获得不同的多态关联