FSMG

Cet utilitaire est une sur-couche au C et au C++, spécialisé dans la génération d'automate à état fini. Il résoud le problème de la rédaction et de la maintenance des automates à états finis. Fonctionnant comme les utilitaires yacc, bison ou lex, une syntaxe additionnelle permet de décrire l'automate. Le source est ensuite converti en un fichier C/C++ classique avant d'être compilé.

Exemple :

%%

 $DEBUT : '['

        {

          return($SUITE);

        }

        | /* Par défaut */

        {

          return(-1);

        }

        ;

 $SUITE : ']'

        {

          return($DEBUT);

        }

        | /* Par défaut */

        {

          return($state$);

        }

        ;

%%

int main()

{

  int etat;

  for(etat=0;etat!=-1;etat=fsm(etat,getch()));

  return 0;

}