在ANTLR规则中返回多个值
我有这样一个ANTLR规则在ANTLR规则中返回多个值,antlr,Antlr,我有这样一个ANTLR规则 receive returns[Evaluator e,String message] : RECEIVE FILENAME {$e= new ReceiveEvaluator($FILENAME.text);} ; 我添加了一个新的返回消息,我想把文件内容放在其中。我可以做的一种方法是,当我遍历树时,通过调用evaluate()方法使计算器返回字符串 我想知道我是否可以在这里直接完成,但我不知道如何设置多个返回值并在以后访问它们 谢谢 Hari以下是如何设
receive returns[Evaluator e,String message]
: RECEIVE FILENAME {$e= new ReceiveEvaluator($FILENAME.text);}
;
我添加了一个新的返回消息,我想把文件内容放在其中。我可以做的一种方法是,当我遍历树时,通过调用evaluate()方法使计算器返回字符串
我想知道我是否可以在这里直接完成,但我不知道如何设置多个返回值并在以后访问它们
谢谢
Hari以下是如何设置和使用多个返回值:
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...";
}
;