Я хочу генерировать деревья выражений, которые имеют «обратные» ссылки от дочернего к родительскому. Есть ли способ настроить генератор протонов или домен так, чтобы класс оболочки выражения (с использованием proto::extends<>
) содержал ссылку на родительское выражение?Как добавить родительские ссылки в выражения Boost.Proto?
Целью этого является создание деревьев выражений, которые кэшируют оцениваемые результаты, чтобы они могли быть подвергнуты повторной оценке. Моя стратегия заключается в обновлении значений терминалов, а затем вверх по дереву, обозначающем родительские узлы как «грязные», чтобы они были переоценены при оценке корневого выражения.
Спасибо! Кажется очевидным сейчас, но было меньше, пока я был потерян в мета-программировании джунглей :-) – Aaron