diff options
Diffstat (limited to 'examples/func_calls.py')
-rw-r--r-- | examples/func_calls.py | 100 |
1 files changed, 50 insertions, 50 deletions
diff --git a/examples/func_calls.py b/examples/func_calls.py index f8ff731..fe30181 100644 --- a/examples/func_calls.py +++ b/examples/func_calls.py @@ -1,51 +1,51 @@ -#-----------------------------------------------------------------
-# pycparser: func_defs.py
-#
-# Using pycparser for printing out all the calls of some function
-# in a C file.
-#
-# Copyright (C) 2008-2011, Eli Bendersky
-# License: BSD
-#-----------------------------------------------------------------
-from __future__ import print_function
-import sys
-
-# This is not required if you've installed pycparser into
-# your site-packages/ with setup.py
-#
-sys.path.extend(['.', '..'])
-
-from pycparser import c_parser, c_ast, parse_file
-
-
-# A visitor with some state information (the funcname it's
-# looking for)
-#
-class FuncCallVisitor(c_ast.NodeVisitor):
+#----------------------------------------------------------------- +# pycparser: func_defs.py +# +# Using pycparser for printing out all the calls of some function +# in a C file. +# +# Copyright (C) 2008-2011, Eli Bendersky +# License: BSD +#----------------------------------------------------------------- +from __future__ import print_function +import sys + +# This is not required if you've installed pycparser into +# your site-packages/ with setup.py +# +sys.path.extend(['.', '..']) + +from pycparser import c_parser, c_ast, parse_file + + +# A visitor with some state information (the funcname it's +# looking for) +# +class FuncCallVisitor(c_ast.NodeVisitor): def __init__(self, funcname): - self.funcname = funcname
-
- def visit_FuncCall(self, node):
- if node.name.name == self.funcname:
- print('%s called at %s' % (
- self.funcname, node.name.coord))
-
-
-def show_func_calls(filename, funcname):
- ast = parse_file(filename, use_cpp=True)
- v = FuncCallVisitor(funcname)
- v.visit(ast)
-
-
-if __name__ == "__main__":
- if len(sys.argv) > 2:
- filename = sys.argv[1]
- func = sys.argv[2]
- else:
- filename = 'c_files/hash.c'
- func = 'malloc'
-
- show_func_calls(filename, func)
-
-
-
+ self.funcname = funcname + + def visit_FuncCall(self, node): + if node.name.name == self.funcname: + print('%s called at %s' % ( + self.funcname, node.name.coord)) + + +def show_func_calls(filename, funcname): + ast = parse_file(filename, use_cpp=True) + v = FuncCallVisitor(funcname) + v.visit(ast) + + +if __name__ == "__main__": + if len(sys.argv) > 2: + filename = sys.argv[1] + func = sys.argv[2] + else: + filename = 'c_files/hash.c' + func = 'malloc' + + show_func_calls(filename, func) + + + |