Closed Mazdaywik closed 6 years ago
При решении задачи #16 имеет смысл сразу объявить функции аллокации как возвращающие void
. Но тогда перестанет работать сгенерированный код, который присваивает указателям выделенную память.
Так что, наверное, имеет смысл изменить генерацию результата раньше.
Эта задача — подзадача для #8.
Предлагается сделать примерно так, как это сделано сейчас в Модульном Рефале. Распределяемые объекты (скобки, символы, копии переменных) последовательно размещаются в списке свободных узлов. Для переносимых переменных сохраняется позиция после вставляемого элемента.
Преимущества:
Недостатков явных не видно.
Как и раньше, выполнение предложения состоит из трёх фаз:
Фазы и их инварианты сохраняются.