0

次のように定義されたアクションを持つルールがあります。

metric_expr
  : metric=NAME ('AS' label=NAME)? {System.out.println(String.format("%s: %s", metric, label));}
  ;

エラーが発生しました:

error(146): com\foo\bar\PRL.g:65:54: invalid StringTemplate % shorthand syntax: '%s'

誰かがこれを回避する方法を知っていますか?

4

1 に答える 1

3

1つの円記号で標識をエスケープし%ます。

また、トークンのテキストを表示する場合は、トークンの.text属性を使用します。

metric_expr
  : metric=NAME ('AS' label=NAME)? 
    {System.out.printf("\%s: \%s", $metric.text, $label.text);}
  ;
于 2012-06-26T21:30:11.847 に答える