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

7. ОТЛАДКА В ЯДРЕ

Общее описание

Средства отладки в ядре обеспечивают пользователя отладоч­ными строками и переключателем времени компиляции для отла­дочных строк.

Переключатель времени компиляции

Фраза WITH DEBUGGING MODE (В РЕЖИМЕ ОТЛАДКИ)’ является частью параграфа SOURCE-COMPUTER (ИСХОД- НАЯ-МАШИНА) (см. п. 4.3 настоящей части). Она служит пе­реключателем времени компиляции для отладочных строк, содер­жащихся в отдельно компилируемой программе.

Если в отдельно компилируемой программе указана фраза WITH DEBUGGING MODE (В РЕЖИМЕ ОТЛАДКИ), все отла- дфіные строки компилируются, как определено в данном представ­лений ядра. Если же фраза WITH DEBUGGING MODE (В РЕ­ЖИМЕ ОТЛАДКИ) не указана, все отладочные строки компили­руются так, как если бы они представляли строки комментариев.

Наличие или отсутствие фразы WITH DEBUGGING MODE (В РЕЖИМЕ ОТЛАДКИ) логически определяется после обработки все» операторов COPY (КОПИРОВАТЬ) и REPLACE (ЗАМЕ­НИТЬ).

Отладочные строки

Отладочной строкой называется строка с литерой D(T) в об­ласти индикатора строки. Любая отладочная строка, состоящая только из пробелов от границы А до границы R, считается пустой.

Содержимое отладочной строки должно быть таким, при кото­ром программа является синтаксически правильной независимо от того, содержит ли она отладочные строки или они рассматрива­ются как комментарии.

После обработки всех операторов COPY (КОПИРОВАТЬ) и REPLACE (ЗАМЕНИТЬ) отладочная строка рассматривается как комментарий, если в параграфе SOURCE-COMPUTER (ИСХОД- НАЯ-МАШИНА) не указана фраза WITH DEBUGGING MODE (В РЕЖИМЕ ОТЛАДКИ).

Допускаются несколько последовательно расположенных от­ладочных строк.

В отдельно компилируемой программе отладочные строки мо­гут располагаться только после параграфа OBJECT-COMPUTER (РАБОЧАЯ-МАШИНА).

Часть 7. МОДУЛЬ ПОСЛЕДОВАТЕЛЬНОГО ВВОДА ВЫВОДА

ВВЕДЕНИЕ В МОДУЛЬ ПОСЛЕДОВАТЕЛЬНОГО ВВОДА ВЫВОДА

Назначение

Модуль последовательного ввода-вывода обеспечивает воз­можность доступа к записям файла в установленной последова­тельности. Последовательность устанавливается в результате за­несения записей в файл.

Характеристика уровней

Уровень 1 последовательного ввода-вывода обеспечивает не­полные возможности для статей управления файлом, статей опи­сания файла и статей параграфа I-O-CONTROL (УПРАВЛЕНИЕ- ВВОДОМ-ВЫВОДОМ). В разделе процедур уровень 1 последо­вательного ввода-вывода обеспечивает ограниченные возможнос­ти операторов CLOSE (ЗАКРЫТЬ), USE (ИСПОЛЬЗОВАТЬ), 396

OPEN (ОТКРЫТЬ), WRITE (ПИСАТЬ) и READ (ЧИТАТЬ). Полные возможности обеспечиваются для оператора REWRITE (ОБНОВИТЬ).

Уровень 2 последовательного ввода-вывода обеспечивает полные возможности для статей управления файлом, статей описания файла и статей параграфа I-O-CONTROL (УПРАВ- ЛЕНИЕ-ВВОДОМ-ВЫВОДОМ). В разделе процедур уровень 2 последовательного ввода-вывода обеспечивает полные возмож­ности операторов CLOSE (ЗАКРЫТЬ), OPEN (ОТКРЫТЬ), READ (ЧИТАТЬ), REWRITE (ОБНОВИТЬ), WRITE (ПИ­САТЬ) и USE (ИСПОЛЬЗОВАТЬ).

Понятия языка

Организация

Последовательный файл организован так, что каждая запись* кроме последней, имеет единственную запись-преемника и каждая запись, кроме первой, имеет единственную запись-предшествен­ника. Это отношение следования устанавливается оператором WRITE (ПИСАТЬ) при создании файла. Однажды установленное отношение следования не меняется. Исключением является слу- j чай, когда записи добавляются в конец файла.

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

Метод доступа

При последовательном доступе порядок, в котором осуществ­ляется доступ к записям, соответствует порядку, в котором записи первоначально записывались.

У к а з а т е л ь текущего тома

Указатель текущего тома — это логическое понятие, использу­емое в этом документе для облегчения точного задания текущего тома последовательного файла.

У к а з а т е л ь позиции файла

Указатель позиции в файле —• это логическое понятие, исполь­зуемое в этом документе для облегчения точной спецификации следующей записи, к которой должен осуществляться доступ при выполнении заданных операций ввода-вывода. На установку ука­зателя позиции файла влияют только операторы CLOSE (ЗАК­РЫТЬ), OPEN (ОТКРЫТЬ) и READ (ЧИТАТЬ). Понятие указа­теля позиции файла не имеет смысла для файла, открытого как выходной I или как дополняемый

С о с т о я н и е ввода-вывода

Состояние ввода-вывода — это логическое понятие, характе­ризующееся двухсимвольным значением, которое устанавливает­ся для указания состояния операции ввода-вывода во время вы­полнения операторов CLOSE (ЗАКРЫТЬ), OPEN (ОТКРЫТЬ), READ (ЧИТАТЬ), REWRITE (ОБНОВИТЬ) или WRITE (ПИ­САТЬ) перед выполнением любого повелительного оператора, свя­занного с этим оператором ввода-вывода, и перед выполнением любой применимой процедуры USE AFTER STANDARD EXCEP­TION (ИСПОЛЬЗОВАТЬ ПОСЛЕ СТАНДАРТНОЙ ПРОЦЕДУ- РЫ ОШИБКИ). Значение состояния ввода-вывода доступно Ко- бол-программе посредством фразы FILE STATUS (СОСТОЯНИЕ ФАЙЛА) в статье управления файлом.

Состояние ввода-вывода определяет также, будет ли выпол­няться процедура USE AFTER STANDARD EXCEPTION (ИС­ПОЛЬЗОВАТЬ ПОСЛЕ СТАНДАРТНОЙ ПРОЦЕДУРЫ ОШИБ­КИ). Если возникает любое условие, отличное от тех, которые оп­ределены ниже как «успешное завершение», может выполняться указанная процедура по правилам, заданным для оператора USE (ИСПОЛЬЗОВАТЬ). Если возникает одно из условий «успешное завершение», никакая процедура такого типа не будет выполнять­ся (п. 4.6 настоящей части).

Некоторые классы значений состояния ввода-вывода задают критические условия ошибки. Условия, которые определены в реализации как критические, должны начинаться с цифр 3, 4 и 9. Если значение состояния ввода-вывода для операции ввода-выво­да задает такое условие ошибки, реализацией определяются дей­ствия, которые предпринимаются после выполнения любой приме­нимой по оператору USE AFTER STANDARD EXCEPTION (ИС­ПОЛЬЗОВАТЬ ПОСЛЕ СТАНДАРТНОЙ ПРОЦЕДУРЫ ОШИБ­КИ) процедуры или, если ни одна такая процедура не применима, после завершения стандартной системной обработки ошибок вво­да-вывода. Состояние ввода-вывода задает одно из следующих условий, возникающих после завершения операции ввода-вывода.

Успешное завершение. Оператор ввода-вывода выпол­нился успешно.

В конце. Оператор последовательного чтения был выпол-( нен неуспешно из-за того, что возникло условие конца файла.

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

Логическая ошибка. Оператор ввода-вывода выполнен не­успешно из-за недопустимой последовательности операций ввода- вывода, выполняемых над файлом, или в результате нарушения ■ограничений, заданных пользователем.

Ошибка, определяемая реализацией. Оператор ввода- вывода выполнен неуспешно в результате возникновения условия, ■определенного реализацией.

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

Успешное завершение

Состояние ввода-вывода = 00. Оператор выполнился успеш­но и нет никакой другой доступной информации об операции вво­да-вывода. 13 14

Состояние ввода-вывода = 04. Оператор READ (ЧИТАТЬ) выполнился успешно, но длина обрабатываемой записи не соответ- ствует фиксированным свойствам этого файла.

Состояние ввода-вывода = 05. Оператор OPEN (ОТК­РЫТЬ) успешно выполнился, но указанный в нем необязатель­ный файл во время выполнения оператора OPEN (ОТКРЫТЬ) отсутствует. Если режим открытия 1-0 (ВХОДНОЙ-ВЫХОД- НОЙ) или EXTEND (ДОПОЛНЯЕМЫЙ), файл будет создава- ться.

Состояние ввода-вывода = 07. Оператор ввода-вывода ус­пешно выполнился. Однако для оператора CLOSE (ЗАКРЫТЬ) с фразами | NO РЕШХО“СБЕ1Г"ПЁРЕМОТКИ)Г| REEL/UNIT (КАТУШКУ/ТОМ)J или FOR REMOVAL (С УДАЛЕНИЕМ), или для оператора OPEN (ОТКРЫТЬ) с фразой NO REWIND (БЕЗ ПЕРЕМОТКИ) | заданный файл расположен в среде, к ко­торой неприменимо понятие катушки (тома).

Условие в конце с неуспешным завершением

а) Состояние ввода-вывода=10. Встретился последователь­ный оператор READ (ЧИТАТЬ), а в файле не существует следую­щей логической записи из-за того, что:

встретился конец файла;

оператор READ (ЧИТАТЬ) применяется первый раз для | отсутствующего необязательного входного файла. |

Состояние ввода-вывода = 34. Возникла постоянная ошибка из-за нарушения границ; была совершена попытка записать запись за внешне определенные границы файла. Способ, которым зада­ются эти границы, определяется реализацией.

Состояние ввода-вывода = 35. Постоянная ошибка возникла из-за того, что оператор OPEN (ОТКРЫТЬ) с фразой INPUT (ВХОДНОЙ), 1-0 (ВХОДНОЙ-ВЫХОДНОИ) I или EXTEND (ДОПОЛНЯЕМЫЙ) выдан для отсутствующего | обязательно­го J файла.

Состояние ввода-вывода = 37. Постоянная ошибка возникла из-за того, что оператор OPEN (ОТКРЫТЬ) выдан для файла, который не поддерживает режим, заданный в операторе OPEN (ОТКРЫТЬ). Возможны следующие нарушения:

задана фраза [EXTEND (ДОПОЛНЯЕМЫЙ) или / OUTPUT (ВЫХОДНОЙ), а файл не допускает операции записи;

задана фраза 1-0 (ВХОДНОЙ-ВЫХОДНОЙ), а файл не до­пускает операции ввода и вывода, которые разрешены для после­довательного файла, открываемого в режиме 1-0 (ВХОДНОЙ- ВЫХОДНОЙ);

задана фраза INPUT (ВХОДНОЙ), а файл не допускает опе­рации чтения.

Состояние ввода-вывода = 38. Постоянная ошибка воз­никла из-за того, что выдан оператор OPEN (ОТКРЫТЬ) для файла, ранее закрытого с замком.

Состояние ввода-вывода = 39. Оператор OPEN (ОТКРЫТЬ) завершился неуспешно из-за обнаруженного для этого файла не­соответствия фиксированных свойств файла и свойств, заданных в программе.

Условие логической ошибки с неуспешным завершением

Состояние ввода-вывода = 41. Оператор OPEN (ОТКРЫТЬ) выдан для открытого файла.

Состояние ввода-вывода=42. Оператор CLOSE (ЗАК­РЫТЬ) выдан для неоткрытого файла.

Состояние ввода-вывода = 43. В случае файла массовой па­мяти в режиме последовательного доступа последним оператором ввода-вывода, выполненным для соответствующего файла перед выполнением оператора REWRITE (ОБНОВИТЬ), не был успешно выполненный оператор READ (ЧИТАТЬ).

Состояние ввода-вывода = 44. Нарушение границ возникает по следующим причинам:

сделана попытка записать или обновить запись, длиннее максимально допустимой или короче минимально допустимой в соответствии с фразой RECORD IS VARYING (В ЗАПИСИ ПЕ­РЕМЕННОЕ ЧИСЛО) для данного имени файла;

сделана попытка обновить запись последовательного фай­ла, а размер записи отличен от размера заменяемой записи.

Состояние ввода-вывода = 46. Выдан оператор последова­тельного чтения для файла, открытого в режиме ввода или ввода- вывода, и не была установлена следующая запись по одной из сле­дующих причин:

предыдущий оператор READ (ЧИТАТЬ) закончился неус­пешно, но не вызвал условие <в конце»;

предыдущий оператор READ (ЧИТАТЬ) вызвал условие «в конце».

Состояние ввода-вывода = 47. Был выдан оператор READ (ЧИТАТЬ) для файла, не открытого в режиме ввода или ввода- вывода.

Состояние ввода-вывода = 48. Был выдан оператор WRITE (ПИСАТЬ) для файла, не открытого в режиме вывода или дополнения.

Состояние ввода-вывода = 49. Был выдан оператор REW­RITE (ОБНОВИТЬ) для файла, не открытого в режиме ввода- вывода.

Условие неуспешного завершения, определяемое реализа­цией

а) Состояние ввода-вывода = 9х. Существуют определяемые реализацией условия. Эти условия не должны дублировать ника­кие условия, определенные для значений от 00 до 49 состояния ввода-вывода. Значение х определяется реализацией.

У с л о в и е «в конце»

Условие «в конце» может возникнуть в результате выполнения оператора READ (ЧИТАТЬ) (п. 4.4 настоящей части).

У с л о в и е противоречия свойств файла

Условие противоречия свойств файла может возникнуть в ре­зультате выполнения операторов OPEN (ОТКРЫТЬ), REWRITE (ОБНОВИТЬ) и WRITE (ПИСАТЬ). При возникновении условия противоречия свойств файла выполнение оператора ввода-вывода, который обнаружил это условие, считается неуспешным и файл не подвергается воздействию (пп. 4.3, 4.5, 4.7 настоящей части).

При обнаружении условия противоречия свойств файла выпол­няются следующие действия в указанном ниже порядке:

в состояние ввода-вывода данного файла помещается зна­чение, указывающее на условие противоречия свойств файла (см. п. 1.3.5 настоящей части);

если для данного имени файла задан оператор USE AFTER EXCEPTION/ERROR (ИСПОЛЬЗОВАТЬ ПОСЛЕ ПРОЦЕДУ­РЫ ОШИБКИ), выполняется указанная в нем процедура.

1.3.8. Специальный регистр LINAGE-COUN­TER (С Ч Е Т Ч И К - В Е Р СТ К И)

Зарезервированное слово LINAGE-COUNTER (СЧЕТЧИК- ВЕРСТКИ) является именем для счетчика строк, порождаемо­го, если в статье описания файла задана фраза LINAGE (ВЕР­СТКА) (п. 3.7 настоящей части). Этот счетчик неявно описан как целое без знака, размер которого равен размеру целого-1 или данного, заданного именем-данного-1 во фразе LINAGE (ВЕРСТКА). LINAGE-COUNTER (СЧЕТЧИК-ВЕРСТКИ) мо- i жет использоваться только в операторах раздела процедур, од­нако его значение может изменить только система управления ; вводом-выводом.

РАЗДЕЛ ОБОРУДОВАНИЯ В МОДУЛЕ ПОСЛЕДОВАТЕЛЬНОГО ВВОДА ВЫВОДА

Секция ввода-вывода

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

Общий формат секции ввода-вывода показан ниже. INPUT-OUTPUT SECTION.

FILE-CONTROL, {статья-управления-файлом} ...

[I-O-CONTROL. [статья-управления-вводом-выводом] ]

СЕКЦИЯ ВВОДА-ВЫВОДА.

УПРАВЛЕНИЕ-ФАЙЛАМИ. {статья-управления-файлом}. . .

УПРАВ ЛЕНИЕ-ВВОДОМ-ВЫВОДОМ. [статья-управления- вводом-выводом] ]

Параграф FILE-CONTROL (УПРАВЛЕНИЕ-ФАЙЛАМИ)

Назначение

Параграф FILE-CONTROL (УПРАВЛЕНИЕ-ФАЙЛАМИ) поз­воляет задать относящуюся к файлу информацию.

О б щ и й формат

FILE-CONTROL, {статья-управления-файлом} ...

УПРАВЛЕНИЕ-ФАЙЛАМИ. {статья-управления-файлом} ...

Статья управления файлом

Назначение

Статья управления файлом объявляет существенные физиче* ские свойства последовательного файла.

О б щ и й формат

ASSIGN ТО

RESERVE целое-1

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

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

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

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

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

Весь розділ →