Перейти до вмісту
ГОСТ 22558-89
/ 116

Обоснование

Фраза MULTIPLE FILE ТАРЕ (НА ОДНОЙ КАТУШКЕ) могла бы быть функцией операционной системы, а не отдельной Кобол-программы. Поэтому фраза MULTIPLE FILE ТАРЕ (НА ОДНОЙ КАТУШКЕ) отнесена к категории устаревших элементов.

Фраза LABEL RECORDS (МЕТКИ) (1 ПОД, 1 ОТД, 1 ИПД, 1 ГОТ). Фраза LABEL RECORDS (МЕТКИ) статьи описания файла отнесена к катего­рии устаревших элементов и рассматривается как необязательная фраза.

Обоснование

Фраза LABEL RECORDS (МЕТКИ) рассматривается как необязательная фраза категории устаревших элементов. Определение наличия меток файла рас­сматривается как функция операционной системы и поэтому не относится к Ко- бол-программе.

Фраза VALUE OF (ЗНАЧЕНИЕ) (1 ПОД, 1 ОТД, 1 ИПД, 1 ГОТ). Фра­за VALUE OF (ЗНАЧЕНИЕ) статьи описания файла отнесена к категории уста­ревших элементов.

Обоснование

Описание элементов метки файла рассматривается как функция операцион­ной системы и не относится к Кобол-программе. Поэтому фраза VALUE OF (ЗНАЧЕНИЕ) отнесена к категории устаревших элементов.

Фраза DATA RECORDS (ЗАПИСИ ДАННЫХ) (1 ПОД, 1 ОТД, 1 ИПД). Фраза DATA RECORDS (ЗАПИСИ ДАННЫХ) статьи описания файла отнесена к категории устаревших элементов.

Обоснование

Фраза DATA- RECORDS (ЗАПИСИ ДАННЫХ) избыточна и может привес­ти к несоответствию документации.

Оператор ALTER (ИЗМЕНИТЬ) (1 ЯДР).

Оператор ALTER (ИЗМЕНИТЬ) отнесен к категории устаревших элементов. Обоснование

ІТспользование в программе оператора ALTER (ИЗМЕНИТЬ) приводит к затруднению понимания программы и ее поддержки. Оператор ALTER (ИЗМЕ­НИТЬ) не имеет уникального назначения, поскольку оператор GO ТО DEPEN­DING (ПЕРЕЙТИ В ЗАВИСИМОСТИ ОТ) служит для той же цели.

Фраза KEY (КЛЮЧ) оператора DISABLE (ЗАПРЕТИТЬ) (2 КОМ). Фраза KEY (КЛЮЧ) оператора DISABLE (ЗАПРЕТИТЬ) отнесена к категории устаревших элементов и рассматривается как необязательная фраза.

Обоснование

Фраза KEY (КЛЮЧ) оператора DISABLE (ЗАПРЕТИТЬ) используется как парольное средство доступа для оператора DISABLE (ЗАПРЕТИТЬ). Тем не менее не указаны правила для определения, когда значение в фразе KEY .„ (КЛЮЧ) соответствует системному паролю, вследствие чего ситуация опреде­ляется реализацией. Таким образом, функция, обеспечиваемая фразой KEY (КЛЮЧ), немобильна.

Фраза KEY (КЛЮЧ) оператора ENABLE (РАЗРЕШИТЬ) (2 КОМ). , Фраза KEY (КЛЮЧ) оператора ENABLE (РАЗРЕШИТЬ) отнесена к категории устаревших элементов и рассматривается как необязательная фраза

Обоснование

Фраза KEY"(КЛЮЧ) оператора ENABLE (РАЗРЕШИТЬ) используется как парольное средство доступа для оператора ENABLE (РАЗРЕШИТЬ). Тем не менее правила для определения, когда значение в фразе KEY (КЛЮЧ) соот­ветствует системному паролю, не указаны, вследствие чего ситуация определяет­ся реализацией. Таким образом, функция, обеспечиваемая фразой KEY (КЛЮЧ), немобильна.

Оператор ENTER (ВРИТИ) (1 ЯДР). Оператор ENTER (ВОЙТИ) отнесена к категории устаревших элементов.

Обоснование

Оператор ENTER (ВОЙТИ) был предвестником оператора CALL (ВЫЗ- . ВАТЬ) и вызова внешних подпрограмм. Оператор ENTER (ВОЙТИ) не обеспе­чивает мобильность, поскольку является необязательным и определяется реали­

зацией; поэтому оператор ENTER (ВОЙТИ) не является хорошим объектом для стандартизации.

Необязательность имени-процедуры-1 в операторе GO ТО (ПЕРЕЙТИ К) (2 ЯДР). Необязательность имени-процедуры-1 в операторе GO ТО (ПЕ­РЕЙТИ К) отнесено к категории устаревших элементов.

Обоснование

Необязательность имени-процедуры-1 в операторе GO ТО (ПЕРЕЙТИ К) зависит от оператора ALTER (ИЗМЕНИТЬ). Если имя-процедуры-1 не указано в формате 1 оператора GO ТО (ПЕРЕЙТИ К), то оператор ALTER (ИЗМЕ­НИТЬ), ссылающийся на этот оператор GO ТО (ПЕРЕЙТИ К), должен быть выполнен до выполнения оператора GO ТО (ПЕРЕЙТИ). Поскольку оператор ALTER (ИЗМЕНИТЬ) отнесен к категории устаревших элементов языка, необя­зательность имени-процедуры-1 в операторе GO ТО (ПЕРЕЙТИ К) также от­несена к категории устаревших элементов.

Фраза REVERSED (РЕВЕРСНО) оператора OPEN (ОТКРЫТЬ) (2 ПОД). Фраза REVERSED (РЕВЕРСНО) оператора OPEN (ОТКРЫТЬ) от­несена к категории устаревших элементов.

Обоснование

Последовательный файл может быть открыт для ввода с чтением в обрат­ном порядке. Оборудование, необходимое для обеспечения таких действий, ис­пользуется не очень широко. Следовательно, это средство редко реализуется и не является хорошим объектом для стандартизации. Поскольку это средство из списка средств, зависящих от оборудования, оно является необязательным и мо­жет быть по желанию реализовано или не реализовано.

Оператор STOP литерал (ОСТАНОВИТЬ литерал) (1 ЯДР). Вариант литерал оператора STOP (ОСТАНОВИТЬ) отнесен к категории устаревших эле­ментов.

Обоснование

Общее правило (4) оператора STOP (ОСТАНОВИТЬ) гласит: «Если указан вариант STOP литерал-1 (ОСТАНОВИТЬ литерал-1), выполнение единицы ис­полнения приостанавливается, а литерал-1 сообщается оператору. Продолжение функционирования единицы исполнения начинается со следующего выполнимого' оператора в том случае, когда подключена зависящая от реализации процедура управления возобновлением единицы исполнения».

Назначение оператора STOP литерал (ОСТАНОВИТЬ литерал) по сущест­ву определяется реализацией и поэтому программы, использующие его, немо­бильны.

Модуль сегментации. Модуль сегментации отнесен к категории устарев ших элементов.

Обоснование

К настоящему моменту функция, обеспечиваемая модулем сегментации, обеспечивается на уровне операционной системы, внешнем по отношению к ис­ходному коду Кобола. Поэтому средства сегментации остаются в настоящем стандарте как устаревший элемент, подлежащий удалению в следующей редак­ции стандарта.

Решение сделать модуль сегментации необязательным позволяет имеющимся реализациям по-прежнему предлагать это средство с целью совместимости, не вынуждая при этом новые реализации обеспечивать средства, базирующиеся на устаревшей технологии.

Модуль отладки. Модуль отладки отнесен к категории устаревших эле­ментов.

Обоснование

К настоящему моменту функция, обеспечиваемая модулем отладки, зачас­тую обеспечивается средством диалоговой отладки, не требующим исходных ■операторов Кобола. Поэтому средства отладки остаются в настоящем стандарте как устаревший элемент, подлежащий удалению в следующей редакции стан­дарта.

Решение сделать модуль отладки необязательным позволяет имеющимся реа­лизациям по-прежнему предлагать это средство с целью совместимости, не вы­нуждая при этом новые реализации обеспечивать средства, базирующиеся на устаревшей технологии.

Список элементов языка, определяемых реализацией

Ниже следует список элементов языка настоящего стандарта, для которых спецификация синтаксиса или правил доопределяется в реализации.

Системное-имя. Правила образования системного-имени определяются реализацией (см. ч. 4, п. 4.2.2.1.2).

Представление данных. Выбор основания системы счисления обычно за­висит от арифметических возможностей вычислительной машины (см. ч. 4, п. 4.3.4).

Алгебраический знак. Если не использована фраза SIGN (ЗНАК), знаки числа будут представлены так, как это определяет реализация (см. ч. 4, п. 4.3.5).

Выравнивание данных. Каждая реализация, обеспечивающая специаль­ные типы выравнивания, должна описать действие неявного заполнителя и се­мантику операторов, ссылающихся на содержащие его группы (см. ч. 4, п. 4.3.7).

Внешний переключатель. Внешний переключатель является устройством оборудования или программным средством, определяемым и именуемым реализа- дисй (см. ч. 4, п. 4.5).

Внешний переключатель. Реализация определяет область действия (про­грамма, единица исполнения и т. п.) каждого внешнего переключателя и воз­можности (внешние по отношению к Коболу), используемые для изменения сос­тояния внешнего переключателя (см. ч. 4, п. 4.5).

Область В. Область В занимает конечное число позиций литер, опреде­ляемое реализацией (см. ч. 4, п. 7.2).

Имя-машииы в параграфе SOURCE-COMPUTER (ИСХОДНАЯ-МАШИ- НА). Имя-машииы является системным-именем, поэтому правила образования имени-машины определяются реализацией (см. ч. 6, п. 4.3.3, синтаксическое пра­вилі! (1)).

(о) Имя-машины в параграфе OBJECT-COMPUTER (РАБОЧАЯ-МАШИ­НА). Имя-машииы является системным-именем, поэтому правила образования имени-машины'определяется реализацией (см. ч. 6. п. 4.4.3, синтаксическое пра­вил-! fl)).

ПО) Фраза MEMORY SIZE (РАЗМЕР ПАМЯТИ).

Если подмножество, задаваемое пользователем, меньше минимальной кон­фигурации, требуемой для выполнения объектной программы, необходимые ме­ры определяются реализацией (см. ч. 6, п. 4.4.4, общее правило (1)).

I И) Программная основная последовательность.

При отсутствии фразы PROGRAM COLLATING SEQUENCE (ПРОГРАМ­МНЫЙ АЛФАВИТ) используется внутренняя основная последовательность (см. ч 6, п. 4.1.4. общее правило (6)).

Имя-реализации в параграфе SPECIAL-NAMES (СПЕЦИАЛЬНЫЕ- ИМЕНА), Имя-реализации является системным именем, поэтому правила обра­зования имени-реализации определяются реализацией (см. ч. 6, п. 4.5.2).

STANDARD-1 (СТАНДАРТ-А) во фразе ALPHABET (АЛФАВИТ). Если между отдельными литерами стандартного и внутреннего наборов отсутет-

вует соответствие и оно никак не определено, это соответствие определяется реализацией (см. ч. 6, п. 4.5.4, общее правило 4 а).

Имя-реализации во фразе ALPHABET (АЛФАВИТ).

Если задана фраза имя-реализании-2, набор кодов литер или соответствую­щая основная последовательность определяется реализацией. Реализация также определяет соответствие между литерами или литерой набора кодов, специфи­цированного фразой имя-реализации-2, и внутренним набором кодов литер (см. ч. 6, п. 4.5.4, общее правило 4в). _

Фраза RERUN (ПЕРЕПРОГОН). Реализация должна обеспечивать хо­тя бы один вариант фразы RERUN (ПЕРЕПРОГОН) (см. ч. 7, п. 2.12.4, общее правило (2)).

Фраза RECORD (В ЗАПИСИ). Если в статье описания записи не ука­зана фраза RECORD (В ЗАПИСИ) или если во фразе RECORD (В ЗАПИСИ) указан диапазон позиций литер, реализация определяет, какой получается тип записей — переменной длины или фиксированной длины (см. ч. 2, п. 2.1.4.3).

Фраза INDEXED BY (ИНДЕКСИРУЕТСЯ). Имя-индекса, идентифи­цируемое в исходной программе посредством фразы INDEXED BY (ИНДЕКСИ­РУЕТСЯ), не определяется в программе, так как его размещение и формат за­висят от машины и, не будучи данными, имена-индексов не могут быть связаны с какой-либо структурой данных (см. ч. 6, п. 5.8.3, синтаксическое правило (13)).

Фраза SIGN (ЗНАК). Если статья описания числового данного не со­держит необязательную фразу SIGN (ЗНАК), а строка литер его шаблона со­держит символ S (3), то позиция и представление знака определяется реализа­цией (см. ч. 6, п. 5.12.4, общее правило (4)).

Фраза SIGN (ЗНАК). Если вариант SEPARATE CHARACTER (ОТ­ДЕЛЬНО) не указан, представление знака данного определяет реализация (см. ч. S, п. 5.12.4, общее правило 5в).

Фраза SYNCHRONIZED (ВЫДЕЛЕНО). Фраза SYNCHRONIZED (ВЫДЕЛЕНО), в которой не указано ни RIGHT (ВПРАВО), ни LEFT (ВЛЕ­ВО), означает, что элементарное данное нужно расположить между естествен­ными границами таким образом, чтобы достичь наиболее эффективного его ис­пользования. Особенности размещения определяются реализацией (см. ч. 6, п. 5.13.4, общее правило (2)).

Фраза SYNCHRONIZED (ВЫДЕЛЕНО). Реализация должна указы­вать, как обрабатываются элементарные данные, связанные с фразой SYNCH­RONIZED (ВЫДЕЛЕНО), в зависимости от: (а) формата внешнего представле­ния содержащих их записей или групп, в описании которых указана фраза SYNCHRONIZED (ВЫДЕЛЕНО); (б) необходимого порождения неявных за­полнителей, если элементарное данное, непосредственно предшествующее данно­му, описание которого содержит фразу SYNCHRONIZED (ВЫДЕЛЕНО), не оканчивается на естественной границе (см. ч. 6. п. 5.13.4, общее правило (8)).

Фраза SYNCHRONIZED (ВЫДЕЛЕНО). Реализация может задавать автоматическое выравнивание внутри записи для любого внутреннего формата данных, за исключением данных, использование которых указано DISPLAY (ДЛЯ ВЫДАЧИ). Однако запись в целом может быть выделена (см. ч. 6, п. 5.13.4, общее правило (9)).

Фраза об использовании USAGE IS BINARY (ДВОИЧНОЕ). Каждая реализация определяет точное воздействие фразы BINARY (ДВОИЧНОЕ) на выравнивание и представление данного в памяти машины, включая представле­ние любого алгебраического знака. Реализацией должно быть распределено до­статочно памяти для размещения десятичных значений максимального диапазо­на, определяемого строкой литер шаблона (см. ч. 6, п. 5.14.4, общее правило (3)).

Фраза об использовании USAGE IS COMPUTATIONAL (ДЛЯ ВЫ- ЧИСЛЕНИИ). Каждая реализация определяет точное воздействие фразы USAGE IS COMPUTATIONAL (ДЛЯ ВЫЧИСЛЕНИЙ) на выравнивание и представле­ние данного в памяти машины, включая представление алгебраического знака и допустимый диапазон значений данных (см. ч. 6, п. 5.14.4, общее правило (4)).

Фраза об использовании USAGE IS INDEX (ДЛЯ ИНДЕКСА). Каж­дая реализация определяет точное воздействие фразы USAGE IS INDEX (ДЛЯ ИНДЕКСА) на выравнивание и представление данного в памяти машины, вклю­чая действительные значения, присвоенные номеру вхождения элемента таблицы (см. ч. 6, п. 5.14.4, общее правило (7)).

Фраза об использовании USAGE IS PACKED-DECIMAL (ДЕСЯТИЧ- НОЕ). Каждая реализация определяет точное воздействие фразы USAGE IS PACKED-DECIMAL (ДЕСЯТИЧНОЕ) на выравнивание и представление данно­го в памяти машины, включая представление алгебраического знака. Реализаци­ей должен быть выделен достаточный объем памяти для размещения максималь­ного значения, соответствующего десятичным позициям числа, определяемого строкой литер шаблона (см. ч. 6, п. 5.14.4, общее правило (9)).

Арифметическое выражение. Каждая реализация указывает способы, используемые в обработке арифметических выражений (см. ч. 6, п. 6.2.3, правило (6)).

Оператор ACCEPT (ПРИНЯТЬ). Мнемоническое имя в операторе ACCEPT (ПРИНЯТЬ) должно связываться с устройством оборудования (см. ч. 6, п. 6.5.3, синтаксическое правило (1)).

Оператор ACCEPT (ПРИНЯТЬ). Любое преобразование данных, тре­буемое при их перемещении с внешнего устройства в данное, представленное иден­тификатором-1, определяется реализацией (см. ч. 6. п. 6.5.4, общее правило (1)).

Оператор ACCEPT (ПРИНЯТЬ). Размер одной передачи для каждого устройства оборудования определяется реализацией (см. ч. 6, п. 6.5.4, общее пра­вило (2)).

Оператор ACCEPT (ПРИНЯТЬ). Если вариант FROM (С) не указан, то используется устройство, определяемое реализацией как стандартное (см. ч. 6, п. 6.5.4, общее правило (5)).

Оператор ADD (СЛОЖИТЬ). Выделение достаточного поля памяти для выполнения вычислений без потери значащих цифр обеспечивается компи­лятором (см. ч. 6, п. 6.6.4, общее правило (4)).

Оператор COMPUTE (ВЫЧИСЛИТЬ). Каждая реализация определя­ет приемы обработки арифметических выражений (см. ч. 6, п. 6.8.4, общее пра­вило (3)).

Оператор DISPLAY (ВЫДАТЬ). Мнемоническое-имя в операторе DISPLAY (ВЫДАТЬ) связывается с устройством оборудования (см. ч. 6, п. 6.10.3, синтаксическое правило (1)).

Оператор DISPLAY (ВЫДАТЬ). Любое преобразование данных, кото­рое может потребоваться при выводе литерала-1 или данного, соотнесенного идентификатору-1, на внешнее устройство, определяется реализацией (см. ч. 6, п. 6.10.4, общее правило (1)).

Оператор DISPLAY (ВЫДАТЬ). Размер одной передачи для каждого устройства определяется реализацией (см. ч. 6, п. 6.10.4, общее правило (2)).

Оператор DISPLAY (ВЫДАТЬ). Если не указана фраза UPON (НА), используется стандартное выводное устройство реализации (см. ч. 6, п. 6.10.4, общее правило (7)).

Оператор ENTER (ВОЙТИ). Имя-языка-1 определяется реализацией (см. ч. 6, п. 6.12.3, синтаксическое правило (1)).

Оператор SEARCH ALL (ИСКАТЬ ОСОБО). Начальная установка имени-индекса для идентификатора-1 игнорируется и установка имени-индекса меняется в ходе операции поиска способом, определяемым реализацией (см. ч. 6, п. 6.22.4, общее правило (4)).

Оператор SET (УСТАНОВИТЬ). Каждая реализация определяет, на какие внешние переключатели может ссылаться оператор SET (УСТАНОВИТЬ) (см. ,ч. 6, п. 6.23.3, синтаксическое правило (5)).

Побачили розбіжність з офіційним текстом?

Повідомити про неточність

Напишіть, що саме розходиться з офіційною публікацією. Код документа вкажіть у повідомленні — так ми швидше знайдемо потрібне місце.

Перейти до форми зворотного зв'язку

Дивіться також

Весь розділ →