La fonction de dessin permet à l'utilisateur de créer les états, les transitions, de les supprimer et de définir les états initial et final. L'état initial est repéré par une flèche horizontale ou verticale pointant sur lui et l'état final est doublement cerclé. Les transitions sont orientées avec deux flèches placées au quart et au trois quart de la courbe, l'étiquette étant tracée en leur « milieu » (point obtenu pour la valeur 0.5 du paramètre). Toutes ces actions seront effectuées à la souris. Le résultat de la fonction de dessin est :
ordre
le nombre d'états de l'automate.
Cela nécessite néanmoins quelques transformations. Il faut en effet supprimer toutes les données
nécessaires au dessin, c'est-à-dire toutes les coordonnées et autres courbes de BEZIER. Ce travail est
effectué par la fonction finale (cf. PROGRAMME 3.6).
La fonction liste_a_fonction
permet de transformer notre liste de transitions en une véritable
fonction. Elle utilise la fonction assoc
de CAML qui, à un élément a
, va associer b
d'une liste de couples, (a,b)
étant la première occurrence dans la liste. L'automate est
automatiquement rendu complet car les transitions absentes tombent dans un puits, c'est-à-dire génère
une erreur.
La fonction de dessin se chargera de définir, au gré de l'utilisateur, des transitions instantanées, dessinées en vert à l'écran. Une autre modification a été aussi apportéeà cette fonction : elle permet maintenant de définir plusieurs états finaux et plusieurs états initiaux. Les mêmes transformations (cf. PROGRAMME 3.6) sont nécessaires pour la création de l'automate.