PLY中双括号的意思

问题描述 投票:1回答:2

在使用PLY解析包的代码中,我遇到了这样的语法规则:

    def p_clauses(self, p):
        """clauses : clauses clause"""
        p[0] = p[1] + [p[2]]

p[2]括号的目的是什么?我在documentation中找不到任何内容。

PS:如果需要,Here是更完整的解析器代码。另外,here是使用此语法的另一个示例(它是C解析器)。

python parsing formal-languages ply
2个回答
4
投票

外括号和内括号之间没有任何关系。外括号的作用与l = [1, 2, 3]这样的语句相同:它们表示列表的建立。 [p[2]]构建一个列表,其一个元素为p[2]

[这里,p[1]是列表,并且分配将p[0]设置为通过将p[1]和新的单元素列表[p[2]]相加而创建的新列表。


-2
投票

p [0]是p [1] +包含p [2]的新列表。

© www.soinside.com 2019 - 2024. All rights reserved.