gpt4 book ai didi

python - 用PLY解析python,如何编写缩进和缩进部分

转载 作者:太空宇宙 更新时间:2023-11-03 11:05:55 25 4
gpt4 key购买 nike

我试图用 PLY 解析 python 语言的函数定义。我遇到了与缩进相关的问题。例如对于 for 语句,我希望能够知道 block 何时结束。我在这里阅读了 python 语法:http://docs.python.org/2/reference/grammar.html这部分的语法是:

for_stmt: 'for' exprlist 'in' testlist ':' suite ['else' ':' suite]
suite: simple_stmt | NEWLINE INDENT stmt+ DEDENT

我不知道如何用 PLY 描述 INDENT 和 DEDENT 标记。我正在尝试类似的东西:

def t_indentation(t):
r' |\t'
#some special treatment for the indentation.

但似乎 PLY 认为带空格的正则表达式匹配空字符串并且不构建词法分析器......即使我能设法获得 INDENT token ,我也不确定如何获得 DEDENT token ......

有没有办法用 PLY 做到这一点?

最佳答案

您必须使用状态来解析 INDENT 和 UNDENT。

example解析类似 python 的语言

关于python - 用PLY解析python,如何编写缩进和缩进部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19773993/

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