1

私はこの問題を抱えているでしょう:私はこのルールを与えられました

 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>"

ありがとう、バート・キーアーズ!!!

4

0 に答える 0