История изменений
Исправление MOPKOBKA, (текущая версия) :
Ну разные же задачи бывают. Где то можно одной стек-ареной обойтись и сбрасывать ее после выхода из функции, а где то данные не поделены четко на регионы. Можно и простое что нибудь придумать, например переписывание Ast, например раскрытие макроса создает новую ветку, но использует токены которые в него были переданы. Хотя в случае с Ast можно и подсчетом ссылок обойтись, или просто копированием. Или большой ареной, маловероятно что переписывание нагенерирует до OOM дерево.
Исправление MOPKOBKA, :
Ну разные же задачи бывают. Где то можно одной стек-ареной обойтись и сбрасывать ее после выхода из функции, а где то данные не поделены четко на регионы. Можно и простое что нибудь придумать, например переписывание Ast, например раскрытие макроса создает новую ветку, но использует токены которые в него были переданы. Хотя в случае с Ast можно и подсчетом ссылок обойтись. Или большой ареной, маловероятно что переписывание нагенерирует до OOM дерево.
Исходная версия MOPKOBKA, :
Ну разные же задачи бывают. Где то можно одной стек ареной обойтись и сбрасывать ее после выхода из функции, а где то данные не поделены четко на регионы. Можно и простое что нибудь придумать, например переписывание Ast, например раскрытие макроса создает новую ветку, но использует токены которые в него были переданы. Хотя в случае с Ast можно и подсчетом ссылок обойтись. Или большой ареной, маловероятно что переписывание нагенерирует до OOM дерево.