все работает нормально
к сожалению, есть какая-то (старая) база данных, которой нужны части AST как исходная строка (я собираюсь заменить эту вещь, но хочу внести пошаговые изменения)
(тривиальный) пример: a=10,b=30,c =A *B +10,d={1,A*4,3}*4
Код: Выделить всё
KeyValue-Rule = Identifier >> '=' >> Number|Expression
Код: Выделить всё
std::vector Parameters;
Это то, что Дух может сохранить (или начальную/конечную позицию)?
Приведенный выше пример представляет собой очень упрощенную версию моей реальной parser/AST, выражения могут быть глубоко выровнены с помощью () и т. д. - так что это не простое разделение по - просто чтобы объяснить, чего я пытаюсь достичь
что-то вроде: https://astexplorer.net/ - мне нужны начальные/конечные точки моих логических частей AST в строке
Подробнее здесь: https://stackoverflow.com/questions/790 ... was-parsed
Мобильная версия