【问题标题】:Can I view intermediate results of lexer and parser in Python?我可以在 Python 中查看词法分析器和解析器的中间结果吗?
【发布时间】:2020-10-25 21:23:58
【问题描述】:

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

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

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

【问题讨论】:

  • 你可以使用ast模块...

标签: python python-3.x parsing cpython lexer


【解决方案1】:

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2017-03-03
  • 2013-01-31
  • 1970-01-01
  • 2011-04-07
  • 2020-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多