Можно ли получить проанализированную строку?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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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