Bonjour a tous,
Je cherche à analyser du code C avec les expressions régulières de c#
afin d'extraire et formater la liste des fonctions, des variables, ...
pour créer un document (un peu comme Doxygen) de conception (hic!) sous
excel.
Je n'arrive pas à créer les expressions régulières C# à partir de la
grammaire du C (il me manque toujours quelque chose). Est-ce que
quelqu'un pourrait me donner une piste, une idée, un lien, ...
Merci d'avance et bonnes vacances à ceux qui sont sur la plage!
aVr
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Renaud Bompuis
Bonjour,
La chose est peut-être possible en se limitant à ces cas simples, basés sur la detection de token et en décomposant des portions de la grammaire du language C en regex. Il existe d'autre mannières sabs doute plus efficaces d'aborder le problème:
- un outil comme ANTLR qui possède déjà des grammaires prédéfinies pour plusieurs languages. Voir le site http://www.antlr.org/ les outils sont Open Source et fonctionnent sous .Net entre autres.
- si ANTLR ne fait pas l'affaire, il existe des grammaires prédéfinies pour Yacc pour le language C. Il suffit ensuite de les faire passer par un parser comme http://www.plas.fit.qut.edu.au/gppg/
- l'utilitaire "cproto" (faire une recherche sous google) est supposé pouvoir extraire les informations voulues de fichiers sources en C.
- utiliser un parser/compiler externe qui soit capable de produire des listes. Voir par exemple http://compilers.iecc.com/comparch/article/04-08-007 Il semble aussi possible de faire en sorte que gcc fasse la même chose.
Je pense qu'avec tout ça il devrait être possible de faire quelque chose :-)
La chose est peut-être possible en se limitant à ces cas simples, basés sur
la detection de token et en décomposant des portions de la grammaire du
language C en regex.
Il existe d'autre mannières sabs doute plus efficaces d'aborder le problème:
- un outil comme ANTLR qui possède déjà des grammaires prédéfinies pour
plusieurs languages.
Voir le site http://www.antlr.org/ les outils sont Open Source et
fonctionnent sous .Net entre autres.
- si ANTLR ne fait pas l'affaire, il existe des grammaires prédéfinies pour
Yacc pour le language C. Il suffit ensuite de les faire passer par un parser
comme http://www.plas.fit.qut.edu.au/gppg/
- l'utilitaire "cproto" (faire une recherche sous google) est supposé
pouvoir extraire les informations voulues de fichiers sources en C.
- utiliser un parser/compiler externe qui soit capable de produire des
listes.
Voir par exemple http://compilers.iecc.com/comparch/article/04-08-007
Il semble aussi possible de faire en sorte que gcc fasse la même chose.
Je pense qu'avec tout ça il devrait être possible de faire quelque chose :-)
La chose est peut-être possible en se limitant à ces cas simples, basés sur la detection de token et en décomposant des portions de la grammaire du language C en regex. Il existe d'autre mannières sabs doute plus efficaces d'aborder le problème:
- un outil comme ANTLR qui possède déjà des grammaires prédéfinies pour plusieurs languages. Voir le site http://www.antlr.org/ les outils sont Open Source et fonctionnent sous .Net entre autres.
- si ANTLR ne fait pas l'affaire, il existe des grammaires prédéfinies pour Yacc pour le language C. Il suffit ensuite de les faire passer par un parser comme http://www.plas.fit.qut.edu.au/gppg/
- l'utilitaire "cproto" (faire une recherche sous google) est supposé pouvoir extraire les informations voulues de fichiers sources en C.
- utiliser un parser/compiler externe qui soit capable de produire des listes. Voir par exemple http://compilers.iecc.com/comparch/article/04-08-007 Il semble aussi possible de faire en sorte que gcc fasse la même chose.
Je pense qu'avec tout ça il devrait être possible de faire quelque chose :-)
La chose est peut-être possible en se limitant à ces cas simples, basés sur la detection de token et en décomposant des portions de la grammaire du language C en regex. Il existe d'autre mannières sabs doute plus efficaces d'aborder le problème:
- un outil comme ANTLR qui possède déjà des grammaires prédéfinies pour plusieurs languages. Voir le site http://www.antlr.org/ les outils sont Open Source et fonctionnent sous .Net entre autres.
- si ANTLR ne fait pas l'affaire, il existe des grammaires prédéfinies pour Yacc pour le language C. Il suffit ensuite de les faire passer par un parser comme http://www.plas.fit.qut.edu.au/gppg/
- l'utilitaire "cproto" (faire une recherche sous google) est supposé pouvoir extraire les informations voulues de fichiers sources en C.
- utiliser un parser/compiler externe qui soit capable de produire des listes. Voir par exemple http://compilers.iecc.com/comparch/article/04-08-007 Il semble aussi possible de faire en sorte que gcc fasse la même chose.
Je pense qu'avec tout ça il devrait être possible de faire quelque chose :-)
Merci beaucoup, Je vais étudier la chose.
Renaud Bompuis a écrit :
Bonjour,
La chose est peut-être possible en se limitant à ces cas simples, basés sur
la detection de token et en décomposant des portions de la grammaire du
language C en regex.
Il existe d'autre mannières sabs doute plus efficaces d'aborder le problème:
- un outil comme ANTLR qui possède déjà des grammaires prédéfinies pour
plusieurs languages.
Voir le site http://www.antlr.org/ les outils sont Open Source et
fonctionnent sous .Net entre autres.
- si ANTLR ne fait pas l'affaire, il existe des grammaires prédéfinies pour
Yacc pour le language C. Il suffit ensuite de les faire passer par un parser
comme http://www.plas.fit.qut.edu.au/gppg/
- l'utilitaire "cproto" (faire une recherche sous google) est supposé
pouvoir extraire les informations voulues de fichiers sources en C.
- utiliser un parser/compiler externe qui soit capable de produire des
listes.
Voir par exemple http://compilers.iecc.com/comparch/article/04-08-007
Il semble aussi possible de faire en sorte que gcc fasse la même chose.
Je pense qu'avec tout ça il devrait être possible de faire quelque chose :-)
La chose est peut-être possible en se limitant à ces cas simples, basés sur la detection de token et en décomposant des portions de la grammaire du language C en regex. Il existe d'autre mannières sabs doute plus efficaces d'aborder le problème:
- un outil comme ANTLR qui possède déjà des grammaires prédéfinies pour plusieurs languages. Voir le site http://www.antlr.org/ les outils sont Open Source et fonctionnent sous .Net entre autres.
- si ANTLR ne fait pas l'affaire, il existe des grammaires prédéfinies pour Yacc pour le language C. Il suffit ensuite de les faire passer par un parser comme http://www.plas.fit.qut.edu.au/gppg/
- l'utilitaire "cproto" (faire une recherche sous google) est supposé pouvoir extraire les informations voulues de fichiers sources en C.
- utiliser un parser/compiler externe qui soit capable de produire des listes. Voir par exemple http://compilers.iecc.com/comparch/article/04-08-007 Il semble aussi possible de faire en sorte que gcc fasse la même chose.
Je pense qu'avec tout ça il devrait être possible de faire quelque chose :-)