gpt4 book ai didi

python - ply 在语法上连接字符串

转载 作者:太空宇宙 更新时间:2023-11-04 08:59:12 26 4
gpt4 key购买 nike

所以我在 Ply 上​​编写了一个语法来识别基本的 C 语句,例如变量声明或 while 语句。现在,我想要做的是能够连接所有标记,然后打印它或让它在树上传播,如下所示:

def p_whileStmt(p):
'''whileStmt : WHILE '(' condition ')' '{' stmt '}' '''
p[0] += p[1] + p[2] + p[3] + p[4] + p[5] + p[6] + p[7]

有没有比我正在使用的更好的方法来连接所有标记(我只需要字符值,我只需要构建一个字符串)?

编辑:在某些情况下,我需要连接除少数之外的所有标记,例如:

def p_whileStmt(p):
'''whileStmt : WHILE '(' condition ')' '{' stmt '}' '''
p[0] += p[1] + p[3] + p[5]

最佳答案

你可以通过使用

来避免 +=
p[0] = ''.join(p)

对于 p[0] += p[1]+p[3]+p[5] 你可以这样做

p[0] += ''.join(p[1::2])

关于python - ply 在语法上连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27207935/

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