Tu peux aussi te renseigner sur la technique des automates avec matrices de transitions (nom pompeux mais simple à utiliser), on construit d'abord un graphe qui constituera les états de l'automate, et à chaque état, une ou plusieurs actions sont prévues.
On a une Matrice **etat et une Matrice **transition, et dans un fichier on lit les lignes et colonnes representant le graphe j'usqu'à un état terminal(nombre négatif) ou un état d'erreur(0). Le fichier de transition peut etre (pour "var++ ou var += chiffre" par exemple):
2 1 0 0
2 3 4 0
0 3 4 0
0 0 -5 6
0 0 0 0
0 0 0 -7
etat 1 = espace
etat 2 = identificateur (var)
etat 3 = espace
etat 4 = operator +
etat 5 = operator + (terminal)
etat 6 = operator =
etat 7 = chiffre (ou nombre) (terminal)
Fait une recherche sur automate sur le Web, on peut trouver pas mal de choses interessantes.