J'ai besoin de trouver toutes les occurrences d'un appel de fonction dans un fichier C++ en utilisant python, et d'extraire les arguments pour chaque appel.
Je joue avec le paquet pygccxml et extraire les arguments d'une chaîne avec l'appel de fonction est extrêmement simple:Recherche d'invocations d'une certaine fonction dans un fichier C++ en utilisant python
from pygccxml.declarations import call_invocation
def test_is_call_invocation(call):
if call_invocation.is_call_invocation(call):
print call_invocation.name(call)
for arg in call_invocation.args(call):
print " ",arg
else:
print "not a function invocation"
Ce que je ne pouvais pas trouver est un moyen d'obtenir les appels d'analyse syntaxique d'un fichier:
from pygccxml import parser
from pygccxml import declarations
decls = parser.parse(['main.cpp'])
# ...
est-il un moyen de trouver les appels à une fonction en utilisant le package pygccxml?
Ou peut-être que ce paquet est une exagération pour ce que j'essaie de faire :) et il y a un moyen beaucoup plus simple? Trouver les appels de fonction avec une expression régulière est, je le crains, beaucoup plus compliqué que ce que l'on pourrait penser à première vue ...