为什么这个访客在运行时没有给我任何输出

时间:2019-05-30 15:01:01

标签: c visitor pycparser

我正在尝试访问一个有任何*运算的节点,我想获取程序中有*的所有节点,例如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)    

该程序没有给我任何错误,但同时没有打印任何内容。我想我在这里错过了什么?

0 个答案:

没有答案