[C#] Parser code source C avec regex
Bonjour à tous,
Je souhaiterais parser un code source C classique afin de récupérer les fonctions et le mettre dans un tableau :
Code:
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 :
Citation:
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 :)