У меня есть простое правило в ANTLR:
title returns [ElementVector<Element> v]
@init{
$v = new ElementVector<Element>() ;
}
: '[]'
| '[' title_args {$v.add($title_args.ele);} (',' title_args {$v = $title_args.ele ;})* ']'
;
с title_args:
title_args returns [Element ele]
: author {$ele = new Element("author", $author.text); }
| location {$ele = new Element("location", $location.text); }
;
Попытка скомпилировать, что я сталкиваюсь с ошибкой 127 в правиле заголовка: title_args - неуникальная ссылка.
Я следовал решению, заданному для другого подобного вопроса на этом сайте ( Как обращаться со значениями, возвращаемыми списком в ANTLR ), однако кажется, что он работает только с лексическими правилами.
Есть ли конкретный способ обойти это?
Спасибо,
Christos