Cтраница 4
Средства для работы с подпрограммами в языках ПЛ / 1 и Фортран построены на одинаковых принципах, хотя синтаксически эти языки совершенно различны. В ПЛ / 1 применяются два типа подпрограмм; они объявляются с помощью одного и того же оператора определения подпрограммы PROCEDURE. Они, однако, различаются способом возвращения управления в вызывающую программу. Подпрограмма типа функции возвращает результат в явном виде путем использования оператора RETURN ( выражение), в то время как подпрограмма типа стандартной подпрограммы возвращает результат неявно с помощью оператора RETURN без операнда. [46]
Между формальными и фактическими параметрами должно быть соблюдено соответствие в количестве, типе и порядке следования. При обращении к подпрограмме-функции в общем случае формальные параметры заменяются соответствующими фактическими и выполняются операторы, содержащиеся в определении подпрограммы - Функции между оператором начальной строки и оператором возврата RETURN. С помощью оператора RETURN осуществляется возврат из подпрограммы в вызывающую программу. Операторов RETURN в подпрограмме-функции может быть несколько. [47]
С этой целью разработана специальная единица компиляции под названием модуль. Модуль может содержать описания типов сущностей ( определение схемы), описания объектов ( идентификаторы для наборов данных), определения подпрограмм и определения условий целостности. Язык вводит также несколько новых операторов для обработки содержимого базы данных. [48]
В АПЛ предусмотрены команды редактирования, с помощью которых программист может, когда потребуется, изменять определения подпрограмм. Эти команды позволяют осуществить включение, исключение или замену любой строки или части строки в определении подпрограммы либо во время определения подпрограммы, либо после. [49]
![]() |
Пример программы на Лиспе. [50] |
Тело начинается со списка формальных параметров ( X); ему предшествует примитив LAMBDA, который устанавливает попарное соответствие между фактическими и формальными параметрами и добавляет их к локальной среде ссылок. Форма этой строки стандартна ( имя-функции ( LAMBDA)) ( список-формаль-ных-параметров) и она служит тем же целям, что и обычный заголовок определения подпрограммы в других языках. [51]