J'essaie d'en apprendre plus sur les analyseurs syntaxiques, pour les sources Python, C et C++ (par moi-même, pas pour un projet scolaire). Voici un résumé de ce que je veux faire: 1) lire les fichiers source .c/.cpp/.py en Python 2) obtenir une liste de toutes les fonctions dans les fichiers source, et la durée de leurs définitions en termes des numéros de ligne.Analyse des fichiers source .c/.cpp/.py en Python pour obtenir la liste des fonctions contenues
Donc, pour illustrer ma question, considérez le code suivant dans un fichier « helloWorld.cpp » (lire en python):
//start
#include <iostream>
#include <string>
using namespace std;
int main(int argc, char** argv)
{
string str = "Hello World";
cout << str << endl;
return 0;
}
//end
Ce que je veux quelque chose le long: liste des fonctions: int main (int argc, char ** argv) début: ligne 7 fin: ligne 12
des idées sur la façon d'y parvenir (quelques exemples de code serait grandement apprécié)?
Voir [ Y at-il une bonne bibliothèque Python qui peut analyser C++? ] (http://stackoverflow.com/questions/1444961/is-there-a-good-python-library-that-can-parse-c) et [ Python - Analyser un fichier .py, lire l'AST, modifiez-le, puis réécrivez le code source modifié ] (http://stackoverflow.com/questions/768634/python-parse-a-py-file-read-the-ast-modify-it-then-write-back -le-modifié). –