Bonjour à tous,
Je souhaiterais parser un code source C classique afin de récupérer les fonctions et le mettre dans un tableau :
Je voudrais isoler chaque bloc de fonction et le mettre en mémoire :
Code c : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 // Exemple de code source à parser void a(int p1, float p2) { } void b() { int p1=5; float p2 = 10.0; a(p1,p2); } int main() { int p1=5; float p2 = 10.0; a(p1,p2); b(); }
Je ne suis pas du tout doué avec les regex, je sais utiliser la classe Regex en C# mais pour trouver l'expression régulière c'est autre chosetab[0] = "void
a(int p1, float p2)
{
}"
tab[1] = "void b()
{
int p1=5;
float p2 = 10.0;
a(p1,p2);
}"
tab[2] = "int main()
{
int p1=5;
float p2 = 10.0;
a(p1,p2);
b();
}"
Je pense qu'il faut définir un pattern du genre :
(type_retour|void) (espaces|tabulations|saut ligne) nom_fonction (espaces|tabulations|saut ligne) (paramètres) (espaces|tabulations|saut ligne)
{
DU TEXTE
}
Enfin, je ne suis même pas sur. Pouvez vous m'aider ?
Merci d'avance![]()
Partager