Sommaire

Exemple en Java

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) ...