10Fermer12
SasumeLe 02/10/2009 à 21:13
Pour ce genre de problème, une solution éprouvée est d’écrire une grammaire correspondant au langage que tu veux gérer, puis de construire (presque mécaniquement) un analyseur à partir de ça.
Je pense que ça t’évitera d’avoir des fonctions compliquées qui se partagent des responsabilités croisées et qui sont impossibles à maintenir.

Le type de grammaire qui est approprié pour décrire ton langage est une grammaire algébrique, que l’on peut décrire par des règles de la forme « expr -> nombre opérateur nombre ». En partie droite des règles, tu dois finir par tomber sur des unités lexicales (un nombre, un label, un opérateur, etc.).

Donc il faut commencer par identifier quels sont les unités lexicales (les types de mots) que tu rencontreras dans ton analyse. Puis voir comment ils sont agencés entre eux (syntaxiquement) pour former des fichiers sources valides (puisque c’est ça que tu veux pouvoir analyser).

./7 C’est quoi la suite ? (j’aimerais bien savoir ce qu’ils proposent comme technique en une passe)