Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

expression régulière C#

2 réponses
Avatar
aVrama
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

2 réponses

Avatar
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 :-)

--
Renaud Bompuis
http://blog.nkadesign.com
http://etc.nkadesign.com
Avatar
aVrama
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 :-)



Merci beaucoup,
Je vais étudier la chose.