Реферат: Распределение памяти

Для другого расширения требуются более сложные

административные функции во время выполнения программы. В PL/1

корневой узел структурного дерева или любая из подкомпонент могут

быть снабжены размерностями.

Так как выражения, которые определяют границы изменения

индексов, должны быть вычислены при выполнении программы, для

них, как и в случае массивов, следует употреблятъ опители, или

информационные векторы. Т.е. нам необходимы информационные

векторы для всех компонент имеющих размерность большую единицы.

Структуры данных по Стендишу

Следующий шаг в развитии - структуры данных, которые не

могут быть реализованы эффективно, но которые богаче и мощнее.

Структуры данных предложенные Стендишом изменяются во время

работы программы. Динамически могут изменяться не только

размерности компонент, но и число компопонент и их типы.

Обычно во время компиляции ничего не известно, а все делается

во время выполнения программы на основе описателей, которые

сами строятся в это же время.

Во время выполнения программы необходимо хранить описатель

для каждой структурной величины. Действительно, этот описатель

аналогичен набору элементов таблицы символов, используемому

компилятором при компиляции, скажем, структур PL/1. Такие

описания структур лучше всего реализуются в виде дерева, где

для каждого узла должно быть по крайней мере известно:

1) концевой ли это узел или нет;

2) если узел концевой, то каков его тип;

3) если узел концевой, то указатель на значение, если

таковое существует;

4) если узел не концевой, то указатели на узлы для

К-во Просмотров: 815
Бесплатно скачать Реферат: Распределение памяти