我有这样的ANTLR规则
receive returns[Evaluator e,String message]
: RECEIVE FILENAME {$e= new ReceiveEvaluator($FILENAME.text);}
;
我添加了新的返回消息,我想在其中放入文件内容。我可以做的一种方法是,当我在树上行走时,通过调用validate()方法使评估器返回String。
我想知道我是否可以立即执行此操作-但不知道如何设置多个返回值并在以后访问它们。
谢谢
哈里
最佳答案
以下是设置和使用多个返回值的方法:
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...";
}
;