Je cherche à “tokenizer” (c’est à dire découper en petits morceaux, en gros) un texte qui contient des commandes à exécuter. Comme ça me semble bien correspondre à une sorte de langage simplifié, je me suis dit que de faire un peu comme un compilateur pour au moins vérifier la syntaxe des commandes, ça serait pas trop idiot
Par contre, je n’arrive pas à trouver une lib ou autre qui te permet de donner ton “langage” et qiu fait la découpe comme une grande.
Si jamais tu connais déjà l’ensemble des commandes que tu souhaites supporter et les différents arguments acceptable. Il est possible de se définir une grammaire a l’aide de :
Bon, j’ai un souci sur les erreurs. Je gère donc des commandes à exécuter fournies au programme.
Lorsque les commandes sont ok, tout va bien.
Exemple :
REGISTER password
La commande est reconnue, et le paramètre est passé à la méthode qui gère cette commande, c’est nickel.
Mais si j’ai :
REGISTR password
ou
REGISTER
Là, le parser me lève des exceptions et je dois chercher ce qui ne va pas. Cette partie là est beaucoup plus compliquée. Dans le premier cas, je ne reconnais tout simplement pas la commande, c’est limite impossible de dire quelque chose (sauf, peut-être, que je n’ai trouvé aucune commande). Dans le second cas, il faudrait pouvoir signaler que le paramètre de la commande est manquant… J’y travaille, mais s’pas simple