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