Анализ текста для создания древовидной структуры данных

Допустим, я читаю строку из файла:

{Parent{{ChildA}{ChildB}}}

Более сложный пример:

{Parent{{ChildA{ChildC}{ChildD}}{ChildB{ChildE}{ChildF}}}}

Какая грамматика используется для построения дерева.

Любое имя в скобках {} является узлом, и если в этой скобке есть другие узлы (скобки), эти узлы являются дочерними.

Я могу разобрать первый конкретный пример, используя счетчик, но только чтобы найти текстовые имена узлов. Как я могу разобрать это, чтобы определить, какие узлы являются дочерними по отношению друг к другу? Кажется, я не могу осмыслить код, который я бы использовал. У меня есть ощущение, что я бы использовал рекурсию.

Мы будем благодарны за любую помощь или совет.

C ++ является предпочтительным.

Большое спасибо.

5
задан Jacob 26 September 2012 в 02:22
поделиться