Проблемы комплексирования

Проблемы комплексирования. Рассмотрим комплексирование модулей, составленных на различных языках программирования. Для САПР наиболее употребимы универсальные языки ассемблера, ФОРТРАН, ПЛ1. Особенности операций с разноязыковыми модулями можно свести к двум группам 1 особенности установки программной среды и вызова модуля 2 различия в реализации типов и структур данных, проявляющиеся при обмене информацией между модулями. 2. Установка среды При передаче управления из модуля, составленного на одном языке, в модуль, составленный на другом языке, требуется устанавливать программную среду, представляющую собой совокупность программ обработки прерываний и аварийных завершений, установки регистров, содержащих адреса областей, использующихся на протяжении выполнения задачи и др. Поэтому при организации вызова модулей, составленных на различных языках, необходимо всякий раз устанавливать среду вызываемого модуля.

Рассмотрим процесс установления среды в языках ассемблера, ФОРТРАН, ПЛ1. IBCOM, находящимся в библиотеке компилятора. Помимо установки среды этот модуль выполняет операции ввода-вывода и др. Для программ, не содержащих операций ввода-вывода и прерываний, среда может не создаваться.

Вызов модуля, составленного на языке ФОРТРАН, и установка среды этого языка представляют собой различные, самостоятельные действия.

В алгоритмическом языке ПЛ1 установка среды обеспечивается совокупностью модулей библиотечных, сгенерированных компилятором ПЛ1, а также построенных пользователем.

Место расположения программной среды определяется вызовом модуля. Таким образом, установка среды в языке ПЛ1 и вызов самого модуля представляют собой неразрывное целое и считаются одной операцией. Для модулей, написанных на языке ассемблера, компилятор среды не создает. Чтобы обеспечить нормальное функционирование программы для обработки программных прерываний и аварийных ситуаций, пользователь должен сам включить в свою программу соответствующие средства, например макрокоманды SPIE, STAE, ABEND и др. Механизм задания среды определяется также пользователем, который располагается в любом месте исходного модуля макрокоманды задания среды.

Способ обращения к модулю определяется языковыми средствами организации связи по управлению, которое реализуется через активизацию модуля и возврат управления. Средства передачи управления алгоритмических языков проиллюстрированы в таблице. 1 Алгоритмиче-ские языкиХарактеристика средств передачи управленияСредствоЭтап соединенияТип загрузкиПЛ1CALLКомпиляция РедактированиеПредварительно По запросуАссемблераATACH LINK FETCH XCTL CALL Выполнение Компиляция Редактирование Предварительно По запросуФОРТРАНCALL Вызов ФункцииКомпиляция РедактированиеПредварительно По запросу 1.1.3.