Bonjour à tous,

Je souhaiterais parser un code source C classique afin de récupérer les fonctions et le mettre dans un tableau :
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 voudrais isoler chaque bloc de fonction et le mettre en mémoire :
tab[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 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 chose

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