plus sérieusement, tu as une ouverture avec la recherche des acolades...
en pensant à vérifier le "type", de sorte à ce que que
if(...) {}
ne soit pas considéré comme une fonction...
il faut quelque chose du type
TYPE identificateur(...) {}
en gros, il faut un identificateur, suivi de parenthèses, suivies d'accolades...
tout en faisant gaffe à ce qu'il ne faut pas de point virgule entre la prenthèse fermante et l'accolade ouvrante
de la sorte, ceci sera valide :
TYPE identificateur(...)
{
...
}
et ceci ne le sera pas :
identificateur(...);
{
... // le gars peut bien avoir envie de fourtre des instructions entre accolades,
// pour faire un bloc regroupant plusieurs instructions,
// histoire de faciliter, par exemple, la lisibilité...
}
pour résumer :
TYPE (on peut considérer qu'il s'agit d'un identificateur, afin de permettre les types perso) (cela dit, l'ancien style C permet d'avoir des fonctions sans type de retour, auquel cas le type de retour sera mis à int par défaut... à toi de voir si tu permet ceci ou non... si tu le permet, la seule façon de faire la différene entre une déclaration de fonction et un appel est le point virgule de fin d'appel)
identificateur
parenthèses (nombre de parenthèses ouvrantes egal au nombre de fermantes)
pas de point virgule
accolade ouvrante
en même temps, fo voir si tu cherche
les prototypes
ou les déclarations de fonctions...
si tu cherche les prototypes, c pas si simples...
(fodrait que j'y réfléchisse, mais g mon binome qui rale comme quoi la pause est finie depuis pas mal de temps, et que je suis encore sur le forum...)
[edit] mise en page