I have an ANTLR rule like this
receive returns[Evaluator e,String message]
: RECEIVE FILENAME {$e= new ReceiveEvaluator($FILENAME.text);}
;
I have added a new return message and I want to put the file c开发者_如何转开发ontent in that. One way I could do is make the evaluator return the String when I walk the tree by calling the evaluate() method.
I was wondering if I could do it strightaway here - but am not aware how to set multiple return values and access them later.
Thanks Hari
Here's how to set- and use multiple return values:
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...";
}
;
精彩评论