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

%用一个反斜杠转义符号。

如果要显示标记的文本,请使用标记的.text属性:

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