Bonjour a tous !

Je suis confronté a un problème que je n'arrive pas vraiment a résoudre, je vous explique : j'ai un graphe, ce graphe possède des arcs nommés (avec des lettres 'a' 'b' etc). Ensuite j'ai une chaine de caractère qui représente un parcours dans ce graphe, par exemple la chaine peut être :

[a;a;(b|a)] : cette chaine représente un chemin " a puis a puis a OU b "
En gros le point virgule représente la séquence de 2 parcours, et le | un choix possible entre 2 trajets.

Ici on voit bien qu'on peut avoir 2 chemins : le 1er : a a b et le 2nd : a a a.

Le problème ce que je n'arrive pas a trouver un algo qui lit caractère par caractère et qui sait quoi faire en fonction du caractère rencontré.

De plus les chaines peuvent être beaucoup plus compliquées, du style

[a;(b|(c;d)|d);b|a]

Voila j'espère avoir été assez clair et merci pour l'attention que vous pourrez porter a ce message