Python 如何使用文档示例获得ply中的构造树?
在中,他们展示了构建树的示例:Python 如何使用文档示例获得ply中的构造树?,python,tree,abstract-syntax-tree,ply,Python,Tree,Abstract Syntax Tree,Ply,在中,他们展示了构建树的示例: def p_expression_binop(p): '''expression : expression PLUS expression | expression MINUS expression | expression TIMES expression | expression DIVIDE expression''' p
def p_expression_binop(p):
'''expression : expression PLUS expression
| expression MINUS expression
| expression TIMES expression
| expression DIVIDE expression'''
p[0] = ('binary-expression',p[2],p[1],p[3])
def p_expression_group(p):
'expression : LPAREN expression RPAREN'
p[0] = ('group-expression',p[2])
def p_expression_number(p):
'expression : NUMBER'
p[0] = ('number-expression',p[1])
但我的问题是,一旦树被创建,这些节点会去哪里?或者如何从p[0]访问它们?只要确保节点一直传递到顶部(即,开始符号的操作),您只需使用调用
parse
的返回值即可
从文件中:
只要解析器减少了起始规则,并且没有更多的输入可用,解析就会停止,并返回最终值(该值将是p[0]
中最上面的规则)
只要确保节点一直传递到顶部(即开始符号的操作),就可以使用调用
parse
的返回值
从文件中:
只要解析器减少了起始规则,并且没有更多的输入可用,解析就会停止,并返回最终值(该值将是p[0]
中最上面的规则)
非常感谢非常感谢