23 #ifndef __AUTOMATE_H__
24 #define __AUTOMATE_H__
97 Automate * automate,
int origine,
char lettre,
int fin
123 Automate * automate,
int etat_initial
181 int origine,
char lettre,
int fin
234 const Automate* automate,
int origine,
char lettre
302 void (* action )(
int origine,
char lettre,
int fin,
void* data ),
Ensemble * etats_accessibles(const Automate *automate, int etat)
void liberer_automate(Automate *automate)
Détruit un automate.
Automate * miroir(const Automate *automate)
int est_une_transition_de_l_automate(const Automate *automate, int origine, char lettre, int fin)
Renvoie 1 si ('origine', 'lettre', 'fin') est une transition de l'automate et 0 sinon.
Ensemble * delta_star(const Automate *automate, const Ensemble *etats_courants, const char *mot)
Renvoie l'ensemble des états accessibles à partir d'un ensemble d'états donné en paramètre et en lisa...
Automate * creer_automate_du_melange(const Automate *automate1, const Automate *automate2)
Ensemble * delta(const Automate *automate, const Ensemble *etats_courants, char lettre)
Renvoie l'ensemble des états accéssibles à partir d'un ensemble d'états donné en paramètre et en lisa...
int est_un_etat_initial_de_l_automate(const Automate *automate, int etat)
Renvoie 1 si ('etat') est un état initial de l'automate et 0 sinon.
Automate * mot_to_automate(const char *mot)
Renvoie un automate qui reconnaît un unique mot passé en paramètre.
int est_une_lettre_de_l_automate(const Automate *automate, char lettre)
Renvoie 1 si ('etat') est une lettre de l'automate et 0 sinon.
int est_un_etat_de_l_automate(const Automate *automate, int etat)
Renvoie 1 si ('etat') est un état de l'automate et 0 sinon.
Ensemble * delta1(const Automate *automate, int origine, char lettre)
Renvoie l'ensemble des états accessibles à partir d'un état donné en paramètre et en lisant une lettr...
int le_mot_est_reconnu(const Automate *automate, const char *mot)
Renvoie vrai si le mot passé en paramètre est reconu par l'automate passé en paramètre, et renvoie 0 sinon.
void ajouter_etat(Automate *automate, int etat)
Ajoute un état à un automate passé en paramètre.
Automate * translater_automate_entier(const Automate *automate, int translation)
Crée une copie de l'automate passé en paramètre dont les numéros de tous les états ont été translatés...
void ajouter_transition(Automate *automate, int origine, char lettre, int fin)
Ajoute une transition à l'automate passé en paramètre.
int est_un_etat_final_de_l_automate(const Automate *automate, int etat)
Renvoie 1 si ('etat') est un état final initial de l'automate et 0 sinon.
Automate * creer_automate()
Crée un automate vide, sans états, sans lettres et sans transitions.
int get_max_etat(const Automate *automate)
Ensemble * accessibles(const Automate *automate)
const Ensemble * get_finaux(const Automate *automate)
Renvoie l'ensemble des états finaux d'un automate.
void pour_toute_transition(const Automate *automate, void(*action)(int origine, char lettre, int fin, void *data), void *data)
La fonction passe en revue toutes les transitions de l'automate et appelle la fonction passée en para...
const Ensemble * get_initiaux(const Automate *automate)
Renvoie l'ensemble des états intiaux d'un automate.
void print_automate(const Automate *automate)
Affiche sur l'entrée standard (stdout) l'automate passé en paramètre.
void ajouter_lettre(Automate *automate, char lettre)
Ajoute une lettre à l'alphabet d'un automate passé en paramètre.
const Ensemble * get_etats(const Automate *automate)
Renvoie l'ensemble des états d'un automate.
Automate * automate_accessible(const Automate *automate)
Automate * creer_union_des_automates(const Automate *automate_1, const Automate *automate_2)
void ajouter_etat_final(Automate *automate, int etat_final)
Ajoute un état final à un automate passé en paramètre.
void ajouter_etat_initial(Automate *automate, int etat_initial)
Ajoute un état initial à un automate passé en paramètre.
const Ensemble * get_alphabet(const Automate *automate)
Renvoie l'alphabet d'un automate.
int get_min_etat(const Automate *automate)
Renvoie l'état ayant le numéro le plus petit de l'automate passé en paramètre.
Automate * copier_automate(const Automate *automate)
Copie un automate.
Automate * translater_automate(const Automate *automate, const Automate *automate_a_eviter)
Crée une copie de l'automate passé en paramètre. Les entiers des états du nouvel automate évitent ceu...