ГОСТ 22558-89 сторінка 51 з 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 EXCEPTION (ИСПОЛЬЗОВАТЬ ПОСЛЕ СТАНДАРТНОЙ ПРОЦЕДУ- РЫ ОШИБКИ). Значение состояния ввода-вывода доступно Ко- бол-программе посредством фразы 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. Был выдан оператор REWRITE (ОБНОВИТЬ) для файла, не открытого в режиме ввода- вывода.
Условие неуспешного завершения, определяемое реализацией
а) Состояние ввода-вывода = 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-COUNTER (С Ч Е Т Ч И К - В Е Р СТ К И)
Зарезервированное слово 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
Побачили розбіжність з офіційним текстом?