Quelqu'un peut-il me suggérer un langage de programmation utile qui peut être utilisé pour créer un outil qui analysera le programme C donné et générer un rapport txt ou html contenant des informations sur le programme donné (liste des fonctions, liste des variables, etc.). Le programme que j'ai l'intention de construire est similaire à doxygen mais je le veux pour mon usage personnel.Quelle langue est utile pour créer un rapport pour un programme C valide
Répondre
Python et Perl ont d'excellentes capacités de traitement de chaînes.
Je suggérerais d'utiliser quelque chose comme ctags pour analyser le programme, et de simplement créer un script pour lire le fichier ctags et le sortir dans txt/html.
Le format de fichier utilisé par ctags est bien défini pour que d'autres programmes puissent le lire. Voir http://ctags.sourceforge.net pour plus d'informations sur ctags lui-même et le fichier qu'il utilise.
Regardez dans les langages de script. Je recommanderais Python ou Perl.
ctags, peut-être? Ctags génère un fichier index (ou tag) d'objets langage trouvés dans les fichiers source qui permet à ces éléments d'être rapidement et facilement localisés par un éditeur de texte ou un autre utilitaire. Une balise désigne un objet langage pour lequel une entrée d'index est disponible (ou, en variante, l'entrée d'index créée pour cet objet).
Si c'est un langage de programmation que vous voulez alors je dirais quelque chose qui est connu pour la puissance de traitement de chaîne de sorte que cela signifierait Perl. Cependant, la tâche dont vous avez besoin peut être plutôt compliquée car vous devez "connaître" la langue, vous devrez donc suivre les mêmes étapes que le compilateur, étant des analyses lexicales et grammaticales sur le langage (pensez flex, pensez yacc) afin de vraiment «savoir» quel sens ont ces chaînes.
Peut-être le meilleur point de départ est de jeter un oeil à doxygen et essayer de réutilise autant de travail là-bas que possible
Haskell a un projet langue c relativement récente http://www.sivity.net/projects/language.c qui permet l'analyse de code C . Si vous êtes familier avec Haskell, alors cela peut valoir le coup d'oeil. Même si vous n'êtes pas, il pourrait être intéressant d'essayer.
Vous ouvrez un grand sac de noeuds, ce n'est pas une utilisation efficace de votre temps, bla bla bla, etc.
Passant à une réponse, si vous parlez quoi que ce soit au-delà de trivial analyse et vous avez besoin de précision, vous devrez analyser le code source C. Vous pouvez le faire dans n'importe quelle langue, mais vous voudrez certainement générer votre analyseur à partir d'une grammaire de haut niveau. Il y a un certain nombre d'outils pour cela. Un générateur de parser moderne et particulièrement puissant est ANTLR; il existe un certain nombre de grammaires ANTLR pour C, y compris des sous-ensembles plus faciles à travailler.
Lex/yacc sont appropriés pour construire des parseurs.
pycparser est un analyseur complet pour ANSI C89/C90 écrit en pur Python. Il est largement utilisé pour analyser le code source C pour divers besoins. Il est livré avec un exemple de code, comme la liste de toutes les définitions de fonctions dans les fichiers, etc.
- 1. Quelle langue dois-je utiliser pour un plugin Pidgin?
- 2. WCF est-il utile pour créer un client qui utilise un service Web non-WCF?
- 3. Quelle langue est utilisée pour mapper les paramètres à modéliser?
- 4. Langue de remplacement pour C++?
- 5. Est-ce un code C++ valide?
- 6. Comment utiliser genshi.builder pour créer par programme un document HTML?
- 7. RDMS pour newbie de langue C?
- 8. Quelle langue recommanderiez-vous pour créer un script permettant de transférer des favoris/playlists YouTube d'un compte à un autre?
- 9. L'effet Ajax coins arrondis est utile pour?
- 10. Objectif-C - Guide pour créer un graphe
- 11. Utilitaire C# pour créer un CA
- 12. mtrace pour un programme fortran
- 13. Dans quelle langue est écrit .NET Framework?
- 14. Comment créer un site bilingue sans créer de page ASP distincte pour chaque langue?
- 15. En utilisant ".html" pour créer un lien vers un fichier .html.php - quelle est la magie?
- 16. Répétition d'une requête pour produire un rapport
- 17. Créer par programme un raccourci clavier pour le raccourci clavier
- 18. Comment créer un programme d'installation Mac pour mon application Java?
- 19. Déployer un rapport Crystal par programme?
- 20. C#: Quelle est la méthode idéale pour ajouter un écran de démarrage à un projet?
- 21. Dans quelle langue est écrite Craigslist?
- 22. Vous voulez créer un rapport ordinaire (codage ici pour le rapport crytal)
- 23. VS2008 est-il requis pour générer un programme d'amorçage?
- 24. Quelle langue/cadre dois-je utiliser pour créer une application Facebook (jeu vidéo)?
- 25. Comment créer un alias pour une classe générique en C#?
- 26. Est-ce un XML valide?
- 27. Programme pour corrompre un fichier?
- 28. comment créer un rapport de cristal dynamique
- 29. Quelle est la meilleure façon de vérifier un ListView pour les éléments cochés en C#?
- 30. Est-ce un fichier XML valide?