Tu as écrit sur mon adresse i***.end*****@hoa-project.net ?
Pour les numéros d'actions, ça se passe de cette façon :
négatifs : auto-gestion des tampons ; impair pour remplissage, pair pour vidage ;
caractère ou chaîne de caractères : va être consommé par la méthode consume() ;
positifs : transition-epsilon vers un autre automate.
Donc les actions positives indiquent un lien entre deux sous-automates. Les sous-automates sont dans un tableau dont l'index commence à 0. Sauf que 0 signifie action vide dans notre cas. Donc on ajoute 1, comme si le tableau des sous-automates commençait à 1. Rien de gênant en soit (surtout si c'est bien commenté).
Sauf qu'on ne les place pas n'importe où. Prenons un exemple :
/* r e t i p ;
/* __ */ array( 0, 0, 0, 0, 0, 0),
/* GO */ array( 0, 0, 0, 0, 0, 0),
/* EX */ array( 2, 2, 0, 2, 0, 0),
/* LI */ array( 0, 0, 3, 0, 0, 0),
/* IN */ array( 0, 0, 0, 0, 0, 0)
On regarde EX/r, ça se lit de cette façon : si on est arrivé dans l'état EX grâce au léxème r, alors on a une transition-epsilon/lien vers le sous-automate numéro 2, avant d'exécuter l'action de cet état ou de consommer le lexème suivant.
Les transitions-epsilon sont effectuées quand on arrive dans l'état, alors que les actions sont effectuées quand on sort de l'état. Attention à bien faire la distinction
.
Cas particulier : quand on veut avoir une transition-epsilon sur un état initial. Problème. Bah oui, on ne connaît pas ou il n'existe pas un lexème qui nous y a conduit. Donc dans ce cas, on se place en 1/0 (GO/premier lexème), et on place notre lien. Pour vraiment le comprendre, j'ai mis quand c'est possible des liens sur toutes la ligne/tous les lexèmes. On insiste
.
C'est peut être un peu bancale comme façon de faire, mais je n'ai pas trouvé mieux. Je ne voulais pas avoir des tableaux supplémentaires, il y en a déjà bien assez comme ça. Surtout qu'on travaille en programmation dynamique, comprendre que je conserve des calculs/résultats partiels en mémoire durant l'exécution pour ne pas les retraiter. Donc il y a des micro-tableaux qui naissent et qui meurent durant l'exécution. Je ne voulais pas en rajouter encore.
Ton avis ?
Tu fais quoi avec
?
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »