【发布时间】:2021-09-08 06:05:13
【问题描述】:
我正在浏览python grammer specification并找到以下语句,
for_stmt: | 'for' star_targets 'in' ~ star_expressions ':' [TYPE_COMMENT] 块 [else_block]~ 在这条语法规则中是什么意思?语法中使用的其他符号(如 &、!、|)已经记录在案,但 ~ 没有。
符号是
EBNF和PEG的混合。特别是,&紧随其后 由符号、标记或带括号的组表示积极 前瞻(即需要匹配但不消耗),而!表示负前瞻(即,需要 not 匹配)。我们 使用|分隔符来表示 PEG 的“有序选择”(写为/in 传统的 PEG 语法)
.
【问题讨论】:
-
@buran 这是一个关于 EBNF/PEG 的问题,而不是 Python 语法。
-
@theberzi,我的错
标签: python parsing cpython ebnf peg