Я хочу написать переводчик. Идея состоит в том, чтобы перевести специальные интерфейсы C ++ в C ++ / CLI. У меня есть грамматика antlr, которая анализирует все и генерирует AST. Теперь я хочу использовать эту информацию и некоторые строковые шаблоны для передачи исходного кода.
Моя идея состояла в том, чтобы преобразовать AST в некую иерархию объектов со свойствами (например, интерфейсный объект, содержащий методы индексированных свойств, который содержит объекты-описания-объектов).
Затем шаблон мастер-строки подается вместе с корневым объектом и вставляет свойства в правильные позиции или передает их под-шаблонам.
Теперь мой вопрос:
Как мне написать строковый шаблон / свойство, которое нужно вызывать некоторое неопределенное количество раз? Пример: интерфейс содержит несколько методов. Это означает, что подшаблон для метода должен вызываться несколько раз, каждый раз с другим свойством. Как я могу записать это как сочетание строкового шаблона и индексированного свойства?
Спасибо за вашу помощь
Tobias