gpt4 book ai didi

Python PLY 多条规则

转载 作者:太空宇宙 更新时间:2023-11-03 12:11:18 33 4
gpt4 key购买 nike

简而言之,我们如何区分使用了哪个规则 -

例子:- ''' p : a b | c | d '''所以假设我们需要为不同的规则编写不同的代码。那么有什么优雅的方法可以做到这一点。手册中给出的一种方法是使用规则和标记的组合,但我发现并不总是点击。

最佳答案

只需将表达式分解为多个规则,每个不同的代码使用一个规则。

例如(来自http://www.dabeaz.com/ply/ply.html#ply_nn25)

def p_expression(p):
'''expression : expression PLUS term
| expression MINUS term'''
if p[2] == '+':
p[0] = p[1] + p[3]
elif p[2] == '-':
p[0] = p[1] - p[3]

也可以写成

def p_expression_plus(p):
'expression : expression PLUS term'
p[0] = p[1] + p[3]

def p_expression_minus(t):
'expression : expression MINUS term'
p[0] = p[1] - p[3]

关于Python PLY 多条规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9846412/

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