我正在尝试访问一个有任何*运算的节点,我想获取程序中有*的所有节点,例如x = x * 3,z = 2 * y
from pycparser import c_parser, c_ast, parse_file
class BinaryOpVisitor(c_ast.NodeVisitor):
def __init__(self, opr):
self.opr = opr
def visit_binaryOp(self, node):
if node.op.op == self.opr:
print(node.op.coord))
if node.args:
self.visit(node.args)
def show_result(filename.opr):
ast = parse_file(filename)
v = BinaryOpVisitor(opr)
v.visit(ast)
if __name__ == "__main__":
if len(sys.argv) > 2:
filename = sys.argv[1]
func = sys.argv[2]
else:
filename = 'test.c'
opre = '*'
show_result(filename, opre)
该程序没有给我任何错误,但同时没有打印任何内容。我想我在这里错过了什么?