#ifndef PILE_H #define PILE_H union Test { int ValEntier; float ValReel; }; enum NumType {Entier, Reel}; struct Nombre{ union Test nombr; enum NumType typ; }; struct Cell{ struct Nombre Ent; struct Cell * Suiv; }; struct Pile{ int nbElements; struct Cell * Pil; }; typedef struct Programme { char **tokens; int taille; } Programme; typedef struct Etat{ struct Pile * Donnee; Programme * Prog; } Etat; struct Nombre Typenum(char * C); struct Nombre Addition(struct Nombre a, struct Nombre b); struct Nombre Soustraire(struct Nombre a, struct Nombre b); struct Nombre Multiplier(struct Nombre a, struct Nombre b); struct Nombre Diviser(struct Nombre a, struct Nombre b); void Init_Pile(struct Pile * new); void Empiler(struct Pile * P, char * nb); struct Cell * Depiler(struct Pile * P); void Affiche_Nombre(struct Nombre nb); void Affichage(struct Cell * C); int numberOfDelimiters(char* string); Programme* lexer(char * chaine); void Executer(Etat * etat); #endif