Nous fournissons le code complet d’un exemple en Java qui non seulement permet l’évaluation d’un arbre syntaxique mais le construit également.
La construction de l’arbre syntaxique, appelée analyse syntaxique, est également répartie dans les classes, à savoir celles de la figure 20.2 sous la forme de méthodes de classe (méthodes préfixées du mot-clé static en Java).
Le code source de la classe Expression est donné à la suite. La partie relative à l’évaluation se limite à la déclaration de la signature de la méthode évalue.
Les méthodes prochainJeton, analyse et parse sont dédiées à l’analyse syntaxique. La méthode analyse est utilisée pour parser une expression entière alors que parse est dédiée à l’analyse soit d’un mot-clé soit d’une expression mise entre parenthèses.
public abstract class Expression { public abstract boolean evalue(String description); // partie analyse syntaxique protected static String source; protected static int index; protected static String jeton; protected static void prochainJeton() { while ((index < source.length()) && (source.charAt (index) == ’ ’)) index++; if (index == source.length()) jeton = null; else if ((source.charAt(index) ...
Abonnement
tous les livres et vidéos ENI en illimité sans engagement
du livre imprimé ou du livre numérique