私はこの問題を抱えているでしょう:私はこのルールを与えられました
expr: (NUM -> NUM) ( a=NUM -> ^(PLUS $expr $a ))* ;
NUM : '0'..'9'+;
WS : ( ' ' | '\t' | '\r' | '\n' ) {$channel=HIDDEN;};
入力 "1 2 3 4" を次のように解析します。
(PLUS (PLUS (PLUS 1 2) 3) 4)
私の問題は、「テンプレート」またはファイル「.stg」を使用して出力を取得する方法です
1+2+3+4
間違った文字列テンプレート ルール
expr :^(plus a=multi b=NUM ) ->template(f1={$a.st},f2={$b.st})"<f1>+<f2>"
ありがとう、バート・キーアーズ!!!