Проблема с передачей параметров для строки шаблона - PullRequest
0 голосов
/ 25 мая 2011

С учетом этих правил:

 defServ: 'service' path bodyServ? SEP ->Serv(....);

 path: t+=ID ('/' t+=ID)* ->path(...);

Я спрашиваю, как вы можете передать список токенов "t" в шаблон "Serv"?

Самое простое решение было бы поместить производство pathServ в defServ, то есть:

   defServ: 'service'  t+=ID ('/' t+=ID)* bodyServ? SEP ->Serv(a={$t}, ...);

лучшее решение?

Спасибо тебе

1 Ответ

1 голос
/ 25 мая 2011

Tanuzzo88 писал:

Я спрашиваю, как вы можете передать список токенов "t" в шаблон "Serv"?

Конечно, попробуйте это:

defServ
  :  'service' path bodyServ? SEP -> Serv(a={$path.ids})
  ;

path returns [List ids]
  :  t+=ID ('/' t+=ID)* {$ids = $t;}
  ;
...