Cтраница 2
Подготовка машинно-зависимых компонент САРПО является наиболее сложной и трудоемкой задачей. В системе автоматизации программирования объектами подготовки являются транслятор с автокода, макрогенератор, загрузчик и компилятор алгоритмического языка. В задачу подготовки транслятора с автокода входит изменение программ, реализующих все его основные функции. Изменение функциональных операторов автокода вызывает необходимость составления словаря. Объектами подготовки также служат либо процедуры анализа и списки, обеспечивающие нужную последовательность включения операторов, либо списки грамматических правил в трансляторе. Функция распределения памяти под локальные переменные полностью зависит от системы адресации к элементам оперативной памяти специализированной ЭВМ. Генерация машинных команд связана главным образом с топологией и длиной форматов машинных команд и констант. [16]
Объединители делятся на два основных класса. Простейший тип объединителя вырабатывает загрузочный модуль, который очень похож на отдельную колоду абсолютного загрузчика. Это означает, что привязка программы к конкретным адресам памяти выполняется - в процессе объединения подпрограмм. Поскольку модуль такого типа выглядит подобно моментальной фотографии, или образу памяти, его называют модулем образа памяти, а соответствующий объединитель получил название построитель образа памяти. Более сложный объединитель, так называемый редактор связей, сохраняет информацию, необходимую для перемещения модуля в памяти, так что результирующий модуль как единое целое может затем настраиваться и загружаться в произвольное место памяти. В этом случае загрузчик модуля наряду с загрузкой должен дополнительно выполнять функции распределения памяти и перемещения, но остается свободным от решения сложной задачи связывания объектных модулей и подпрограмм. [17]