2010-07-17 5 views
4

J'ai une règle de ANTLR comme celui-cirenvoyant plusieurs valeurs dans ANTLR règle

receive returns[Evaluator e,String message] 
    : RECEIVE FILENAME {$e= new ReceiveEvaluator($FILENAME.text);} 
    ; 

J'ai ajouté un nouveau message de retour et je veux mettre le contenu du fichier dans ce. Une façon que je pourrais faire est de rendre l'évaluateur retourne la chaîne quand je marche dans l'arbre en appelant la méthode evaluate(). Je me demandais si je pouvais le faire ici, mais je ne sais pas comment définir plusieurs valeurs de retour et y accéder plus tard.

Merci Hari

Répondre

5

Voici comment SET- et utiliser plusieurs valeurs de retour:

parse 
    : r=receive { 
     Evaluator e = $r.evaluator; 
     String m = $r.message; 
    } 
    ; 

receive returns[Evaluator evaluator, String message] 
    : RECEIVE f=FILENAME { 
     $evaluator = new ReceiveEvaluator($f.text); 
     $message = "Some message here..."; 
    } 
    ; 
Questions connexes