Можно ли получить проанализированную строку? ⇐ C++

Программы на C++. Форум разработчиков
Anonymous
Можно ли получить проанализированную строку?

Сообщение Anonymous »

у меня есть работающий парсер+AST на основе Spirit, который анализирует инициализацию параметров -
все работает нормально
к сожалению, есть какая-то (старая) база данных, которой нужны части AST как исходная строка (я собираюсь заменить эту вещь, но хочу внести пошаговые изменения)
(тривиальный) пример: a=10,b=30,c =A *B +10,d={1,A*4,3}*4

Код: Выделить всё

KeyValue-Rule = Identifier >> '=' >> Number|Expression
Выражение — это полный Sub-AST с +-* и числами (в этом упрощенном примере)

Код: Выделить всё

std::vector Parameters;
база данных хочет, чтобы «значения» параметров были строкой для c это A *B +10- в лучшем случае с точной строкой (с пробелами и т. д.) .)
Это то, что Дух может сохранить (или начальную/конечную позицию)?
Приведенный выше пример представляет собой очень упрощенную версию моей реальной parser/AST, выражения могут быть глубоко выровнены с помощью () и т. д. - так что это не простое разделение по - просто чтобы объяснить, чего я пытаюсь достичь
что-то вроде: https://astexplorer.net/ - мне нужны начальные/конечные точки моих логических частей AST в строке

Подробнее здесь: https://stackoverflow.com/questions/790 ... was-parsed

Вернуться в «C++»