2010-02-09 5 views

Répondre

2

Utilisation égaux dans cette syntaxe crée une variable appelée basename qui peut ensuite être référencé dans les actions:

tabname: 
    (ID '.')? basename=ID { 
     if ($basename.equals("CAT")) 
      System.out.println("CAT found"); 
    }; 
+0

bonne réponse Kaleb :) – chollida

1

Il est utilisé pour nommer les variables.

Cela peut être très utile si vous voulez exécuter du code pendant l'analyseur.

Prenons l'exemple de la calculatrice java:

expr returns [float r] 
{ 
float a,b; 
r=0; 
} 
: #(PLUS a=expr b=expr) {r = a+b;} 
| #(STAR a=expr b=expr) {r = a*b;} 
| i:INT   {r = (float)Integer.parseInt(i.getText());} 
; 

Ici, nous disons quand nous correspondre à un arbre qui a un PLUS ou STAR jeton de suivi de 2 expressions, nous égalerons les expressions et les nommer respectivement a et b . Après, nous allons utiliser les variables que nous avons mises en correspondance dans une instruction Java. Cette déclaration est contenue dans les parenthèses { et }. Ici, nous utilisons les instructions java pour faire le calcul.

Questions connexes