Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Книга Фортран Павловец 2008

.pdf
Скачиваний:
127
Добавлен:
31.05.2015
Размер:
1.55 Mб
Скачать

│ метакоманды $DEBUG. Если встретилось данное сообще- │

│ ние, следует попытаться выполнить компиляцию с пара- │

│ метром /4Nb или заменить метакоманду $DEBUG в исход- │

│ ном файле на метакоманду $NODEBUG; если файл содержит│

│ больше, чем одну процедуру, попытайтесь выполнить их │

│ │ компиляцию в раздельно. │

├─────────┼──────────────────────────────────────────────────────┤ │F1900 │ maximum memory-allocation size exceeded │

│ Программа пытается распределить больше чем 1900 бай- │

│ тов одновременно. Эта величина является верхним пре- │

│ │ делом размера символьных констант. │

├─────────┼──────────────────────────────────────────────────────┤

│F1901

│ program too

large for memory

│ Комбинация

динамической области памяти ("кучи") и

области стэка превышает конфигурацию памяти компью-

тера.

 

├─────────┼──────────────────────────────────────────────────────┤ │F1902 │ statement stack underflow │

│ Это внутренняя ошибка. Компилятор не может интерпре- │

│ тировать гнездование ("встраивание") операторов. │

├─────────┼──────────────────────────────────────────────────────┤

│F1903

│ statement-nesting limit exceeded

│ Структурированные операторы встроены слишком глубоко.│

│ Максимальная глубина гнездования составляет около 40 │

операторов и незначительно изменяется в зависимости

от типа оператора.

├─────────┼──────────────────────────────────────────────────────┤

│F1904

illegal command-line

option

Эта ошибка не должна

встречаться никогда.

├─────────┼──────────────────────────────────────────────────────┤ │F1907 │ too many symbols │

│ Программа "переполнила" внутренний счетчик символов│

│ │ Верхний предел для количества символов, допустимых│

│ в исходном файле, не установлен. Однако, в любом слу-│

чае, в одном модуле разрешено использовать не более│

20.000 имен.

├─────────┼──────────────────────────────────────────────────────┤

│F1908

│ ASSIGN:too many format labels

 

таблицу меток

│ Программа "переполнила" назначенную

│ формата. Эта

ошибка, возможно,

встретилась потому,

│ что была специфицирована переменная типа INTEGER*1,

│ значение предела количества

меток для которой сос-

│ тавляет 127.

Для устранения

этой

ошибки следует

│ использовать

переменную

типа

INTEGER*2 вместо

│ INTEGER*1.

 

 

 

 

├─────────┼──────────────────────────────────────────────────────┤

│F1909

<filename>: include file nested

too deeply

Одновременно были активны более

10 включаемых файлов.│

├─────────┼──────────────────────────────────────────────────────┤

│F1910

│ <name> : unrecognized

option

Это внутренняя ошибка; драйвер компилятора, FL,

"принял" недопустимый

параметр.

├─────────┼──────────────────────────────────────────────────────┤

│F1912

<filename>: cannot open file

Специфицированный файл не может быть открыт.

├─────────┼──────────────────────────────────────────────────────┤

│F1913

│ <name>

: name

too long

 

файла, пре-

Длина

имени,

заданного для внутреннего

вышает

14 символов. Компилятор

создает

внутренние

│ файлы в каталоге, специфицируемом в переменной TMP │

│ операционной среды. Если общая длина переменной TMP │

151

│ и уникального внутреннего имени превышает длину буфе-│

│ ра имени , то генерируется данное сообщение.

│ Следует создать переменную TMP меньшего размера. Если│

переменная TMP

не указана, то данная ошибка возник-│

нуть не может.

├─────────┼──────────────────────────────────────────────────────┤

│F1914

cannot open internal files

Внутренние файлы созданы быть не могут.

├─────────┼──────────────────────────────────────────────────────┤

│F1917

unknown primitive type

ошибка.

Встретилась внутренняя

├─────────┼──────────────────────────────────────────────────────┤

│F1918

missing symbol reference

Встретилась внутренняя ошибка.

├─────────┼──────────────────────────────────────────────────────┤

│F1919

unknown constant type

Встретилась внутренняя ошибка.

├─────────┼──────────────────────────────────────────────────────┤ │F1920 │ illegal -A option │

│ В командной строке FL задан неверный параметр модели │

│ │ памяти. │

├─────────┼──────────────────────────────────────────────────────┤

│F1921

too many ENTRY

statements

В подпрограмме

задано более 32.000 операторов ENTRY. │

├─────────┼──────────────────────────────────────────────────────┤ │F1922 │ integer string too long │

│ Цифровая строка целочисленных констант "переполнила" │

│ внутренний буфер (При правильной работе такая ошибка │

│ никогда не происходит).

Следует сократить строку целых чисел до нормальной │

длины.

├─────────┼──────────────────────────────────────────────────────┤

│F1923

│ CHARACTER constant too long

Константа

типа CHARACTER может иметь максимум 1900

символов.

 

├─────────┼──────────────────────────────────────────────────────┤

│F1924

FORMAT string too long

Оператор FORMAT может

иметь максимум 1900 символов. │

├─────────┼──────────────────────────────────────────────────────┤ │F1925 │ out of disk space for compiler internal file │

│ Во время записи компилятором внутреннего файла, диск │

│ оказался заполненным и на нем не осталось свободного │

│ │ места. │

├─────────┼──────────────────────────────────────────────────────┤

│F1926

│ write error on compiler

internal file

При записи компилятором

внутреннего файла произошла

ошибка.

 

└─────────┴──────────────────────────────────────────────────────┘

152

2.2.2 Сообщения об ошибках процесса компиляции

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

┌─────────┬──────────────────────────────────────────────────────┐ │ Номер │ Сообщения об ошибках процесса компиляции │

├─────────┼──────────────────────────────────────────────────────┤

│F2000

UNKNOWN ERROR

Встретилась неизвестная ошибка компиляции.

├─────────┼──────────────────────────────────────────────────────┤

│F2001

│ INTEGER

value overflow

Для специфицируемого типа константа INTEGER слишком

велика.

 

├─────────┼──────────────────────────────────────────────────────┤

│F2002

│ Hollerith not allowed

│ При использовании параметра компиляции /4Ys (или

метакоманды $STRICT) применение текстовых констант

(константа Холлерита) не разрешено.

├─────────┼──────────────────────────────────────────────────────┤ │F2003 │ illegal base value │

│ Указанное значение основания числа не лежит в диапа- │

│ │ зоне от 2 до 36, включительно. │

├─────────┼──────────────────────────────────────────────────────┤

│F2004

│ INTEGER constant must follow #

предшествовать знак

│ Константам

типа INTEGER

должен

номера

(#); пробелы или

другие

символы между знаком

номера

(#)

и константой

недопустимы.

├─────────┼──────────────────────────────────────────────────────┤ │F2005 │ illegal REAL constant │

│ Константа с плавающей точкой имеет некорректную форму│

│ │ представления. │

├─────────┼──────────────────────────────────────────────────────┤

│F2006

│ missing ] following attribute string

Потеряна закрывающая квадратная скобка в списке

атрибутов.

├─────────┼──────────────────────────────────────────────────────┤

│F2007

│ open quote missing

Ведущая кавычка

в значении типа строки атрибута

ALIAS потеряна.

 

├─────────┼──────────────────────────────────────────────────────┤ │F2008 │ unrecognized attribute │

│ Элемент, используемый в качестве атрибута, не являет-│

│ │ ся действительным атрибутом языка ФОРТРАН. │

├─────────┼──────────────────────────────────────────────────────┤

│F2009

│ <character>: illegal separator

│ Список

атрибутов

не заканчивается закрывающей

│ квадратной скобкой

(]) и после этого не указана

запятая

(,),

или в

списке

метакоманды $NOTLARGE

используется

недопустимый

символ.

├─────────┼──────────────────────────────────────────────────────┤

│F2010

<name>: name too long; truncated

Длина специфицированного имени превышает 31 символ.

├─────────┼──────────────────────────────────────────────────────┤

│F2011

│ octal value too big for byte

Восьмеричное значение не находится в диапазоне от

8#0 до 8#377.

153

├─────────┼──────────────────────────────────────────────────────┤ │F2012 │ <name>:already specified in $[NOT]LARGE │

│ Специфицированный элемент указан в списках и метако- │

│ │ манды $LARGE, и метакоманды $NOLARGE. (Сообщение │

│ указывает метакоманду, которая появляется в програм- │

│ │ ме первой). │

├─────────┼──────────────────────────────────────────────────────┤ │F2013 │ to many continuation lines │

│ При компиляции используется либо параметр /4Ys, либо │

│ метакоманда $STRICT, а также было использовано более │

│ │ 19 строк продолжения. │

├─────────┼──────────────────────────────────────────────────────┤

│F2015

│ $DEBUG:'<debug list>':string expected

После метакоманды $DEBUG предполагалась строка,

заключенная в кавычки.

├─────────┼──────────────────────────────────────────────────────┤

│F2016

│ $IF:no

matching $ENDIF

$IF

не

было

При

использовании

найдено │

соответствующего $ENDIF.

 

 

 

├─────────┼──────────────────────────────────────────────────────┤

│F2017

│ $INCLUDE:'<filename>':string expected

После метакоманды $INCLUDE предполагалась строка

в кавычках, специфицирующая имя файла.

├─────────┼──────────────────────────────────────────────────────┤

│F2018

│ $LINESIZE ($PACK or $PAGESIZE): integer

constant

out │

│ of range

большая

Целочисленная константа, меньшая 80 или

132,│

была специфицирована в метакоманде $LINESIZE,

либо│

│ в метакоманде $PAGESIZE было специфицировано значение│

нижней

границы, меньшее 15.

Для метакоманды

$PACK│

было

задано целое значение,

отличное от 1, 2

или 4│

├─────────┼──────────────────────────────────────────────────────┤ │F2019 │ $LINESIZE (or $PAGESIZE):integer constant expected │

│ После метакоманд $LINESIZE или $PAGESIZE предполага- │

│ │ лась целочисленная константа. │

├─────────┼──────────────────────────────────────────────────────┤ │F2020 │ $[NOT]LARGE already set │

│ Метакоманды $LARGE или $NOTLARGE указаны в процедуре │

более одного

раза (метакоманда, появляющаяся более

одного раза,

указывается в сообщении).

├─────────┼──────────────────────────────────────────────────────┤ │F2021 │ $[NOT]LARGE illegal in executable statements │

│ Метакоманды $LARGE или $[NOT]LARGE указываются между │

│ подпрограммами

или

внутри

раздела

описания

подпрограммы.

(Данные

метакоманды указываются

в

сообщении).

 

 

 

 

 

├─────────┼──────────────────────────────────────────────────────┤ │F2022 │ $MESSAGE:'<message>':string expected │

│ После метакоманды $MESSAGE предполагалась строка, за-│

│ ключенная в кавычки и содержащая некоторое сообщение.│

├─────────┼──────────────────────────────────────────────────────┤

│F2023

│ divide by 0

│ Второй операнд операции деления (/) вычислен со зна- │

│ │ чением 0; результат операции неопределенный. │

├─────────┼──────────────────────────────────────────────────────┤

│F2024

│ mod by

0

Второй

операнд функции MOD вычислен со значением 0;

результат неопределенный.

├─────────┼──────────────────────────────────────────────────────┤

│F2025

no matching $IF

Для $ELSE, $ELSEIF или $ENDIF не найдено соответствия│

154

│ │ $IF. │

├─────────┼──────────────────────────────────────────────────────┤

│F2026

metacomands are nonstandard

Используются нестандартные метакоманды.

├─────────┼──────────────────────────────────────────────────────┤

│F2027

│ $STORAGE:<number>:2 or 4 expected

После метакоманды $STORAGE следует число, отличное

от 2 или 4.

├─────────┼──────────────────────────────────────────────────────┤

│F2028

│ $SUBTITLE:'<subtitle>':string expected

После метакоманды $SUBTITLE: предполагается строка

в кавычках.

├─────────┼──────────────────────────────────────────────────────┤

│F2029

│ $TITLE:'<title>':string expected

После метакоманды $TITLE:

предполагается строка

в кавычках.

 

├─────────┼──────────────────────────────────────────────────────┤

│F2030

│ unrecognized

metacommand

В исходном файле после знака доллара ($) следует

неопознанная

строка.

├─────────┼──────────────────────────────────────────────────────┤ │F2031 │ closing quote missing │

│ Строка, заключенная в кавычки, не имеет в конце сим- │

│ │ вола кавычки ('). │

├─────────┼──────────────────────────────────────────────────────┤

│F2032

│ zero-length

CHARACTER

constant

В программе

используется

недействительная константа

типа CHARACTER длиной

0.

 

├─────────┼──────────────────────────────────────────────────────┤

│F2033

│ Hollerith constant exceeds 1313 characters

Длина текстовой константы превысила

максимальное

допустимое значение длины.

 

├─────────┼──────────────────────────────────────────────────────┤

│F2034

│ zero-length

Hollerith constant

В программе

используется недействительная текстовая

константа длиной 0.

├─────────┼──────────────────────────────────────────────────────┤

│F2035

Hollerith constant:text length disagrees with given

length

│ Текстовая константа (константа Холлерита) меньше, чем│

│ │ размер, заданный в поле текстовой константы. │

├─────────┼──────────────────────────────────────────────────────┤ │F2036 │ <character>:non-FORTRAN character │

│ В исходном файле присутствует специальный символ, ко-│

│ │ торый не распознан как символ языка ФОРТРАН. │

├─────────┼──────────────────────────────────────────────────────┤

│F2037

illegal label field

В поле метки использовано не цифровое значение.

├─────────┼──────────────────────────────────────────────────────┤ │F2038 │ zero-value label field │

│ В программе используется метка со значением 0. Метки │

должны иметь значения в диапазоне 1-99.999, включи-

тельно.

├─────────┼──────────────────────────────────────────────────────┤

│F2039

free-form label too long

Длина метки составляет более 5 цифр.

├─────────┼──────────────────────────────────────────────────────┤

│F2040

label

on continuation line

Метка

была объявлена как строка продолжения.

├─────────┼──────────────────────────────────────────────────────┤ │F2041 │ first statement line must have '' or '0' in column 6 │

155

│ В программе символ продолжения был использован в пер-│

│ │ вой строке оператора. │

├─────────┼──────────────────────────────────────────────────────┤

│F2042

label

on blank line

Метка

была использована в строке без операторов.

├─────────┼──────────────────────────────────────────────────────┤ │F2043 │ alternate bases illegal │

│ При использовании параметра компиляции /4Ys (или ме- │

такоманды $STRICT) применение

чисел с переменными │

основаниями запрещено.

├─────────┼──────────────────────────────────────────────────────┤

│F2044

│ "nonstandard character string delimiter

Кавычки являются нестандартным разделителем строки

символов (расширение Microsoft).

├─────────┼──────────────────────────────────────────────────────┤

│F2050

$DEFINE:<name> already

defined

Значению $DEFINE имя

может быть задано только один │

│ раз. Для переопределения следует прежде использовать │

│ │ переменную $UNDEF. │

├─────────┼──────────────────────────────────────────────────────┤

│F2051

│ Invalid expression in

metacommand

Компилятор

не может

интерпретировать

выражение в │

метакоманде

$IF, $ELSE, $ELSEIF, $ENDIF

или $DEFINE. │

├─────────┼──────────────────────────────────────────────────────┤

│F2052

│ unmatched parenthesis

Была найдена закрывающая скобка без предшествующей

открывающей скобки.

├─────────┼──────────────────────────────────────────────────────┤

│F2053

<Character>:unrecognized character

Компилятор встретил оператор, который не может рас-│

│ познать, либо имя, начинающееся с небуквенного симво-│

│ │ ла. │ ├─────────┼──────────────────────────────────────────────────────┤

│F2054

<name>:not defined

Была сделана ссылка на неопределенное име.

├─────────┼──────────────────────────────────────────────────────┤ │F2055 │ logical operator expected │

│ Предполагался оператор .AND. или .ОR.; другие опера- │

│ │ торы не могут появляться последовательно. │

├─────────┼──────────────────────────────────────────────────────┤

│F2056

│ <character>:unexpected characters at end

of

│ expression

которые не

В строке имелись дополнительные символы,

могут быть частью выражения.

 

├─────────┼──────────────────────────────────────────────────────┤

│F2059

operand expected

указания операнда.

Оператор требует

├─────────┼──────────────────────────────────────────────────────┤ │F2060 │ invalid integer constant │

│ Константа либо выходит за пределы допустимых значений│

│ │ либо задана в некорректном для констант формате. │

├─────────┼──────────────────────────────────────────────────────┤

│F2062

relational operator expected

Для операндов должен быть задан оператор отношения.

├─────────┼──────────────────────────────────────────────────────┤

│F2064

│ <name>:defined with no value

значения, то оно может

Если имя было определено без

использоваться только как параметр в DEFINE().

├─────────┼──────────────────────────────────────────────────────┤

│F2070

<filename>:cannot open include file

Заданный включаемый файл не может

быть открыт, т.к.│

156

│ он не найден в исходном каталоге или других каталогах│

специфицированных в пути

поиска включаемых файлов в│

заданной командной строке.

├─────────┼──────────────────────────────────────────────────────┤

│F2071

│ INCLUDE:quoted

string missing

Параметр

для

оператора

INCLUDE или

метакоманды │

$INCLUDE

не является типа

CHARACTER.

├─────────┼──────────────────────────────────────────────────────┤

│F2072

INCLUDE:argument must be character constant

Параметр должен быть заключен в апострофы или кавычки│

├─────────┼──────────────────────────────────────────────────────┤

│F2101

│ DO:too many

expressions

В операторе

DO перед знаком равенства указано более

трех элементов.

├─────────┼──────────────────────────────────────────────────────┤

│F2102

│ I/O implied-DO list:list empty

В списке ввода/вывода, включающем операторы DO,

элементов не указано.

├─────────┼──────────────────────────────────────────────────────┤ │F2103 │ I/O implied-DO list:too many expressions │

│ В списке ввода/вывода, включающем операторы DO, после│

│ │ знака равенства указано более трех выражений. │

├─────────┼──────────────────────────────────────────────────────┤

│F2104

│ I/O implied-DO list:illegal assignment

В списке ввода/вывода, включающем

операторы DO,

действительно только одно назначение

(присвоение).

├─────────┼──────────────────────────────────────────────────────┤

│F2105

I/O implied-DO list:too few expressions

В списке ввода/вывода указано менее двух выражений.

├─────────┼──────────────────────────────────────────────────────┤

│F2106

│ I/O implied-DO list:assignment missing

│ В списке ввода/вывода, содержащем операторы DO, от-

сутствует назначение (присвоение), либо в списке в

скобках указано более двух выражений.

├─────────┼──────────────────────────────────────────────────────┤

│F2107

│ assigments in COMPLEX constant illegal

В константе типа COMPLEX указано недопустимое (не-

действительное) встроенное назначение (присвоение).

├─────────┼──────────────────────────────────────────────────────┤ │F2108 │ illegal assigment in parenthesized expression │

│ В выражении, заключенном в скобки, указано недействи-│

│ │ тельное встроенное назначение (присвоение). │

├─────────┼──────────────────────────────────────────────────────┤

│F2111

│ numeric constant

expected

Символьная

или цифровая константа не должна указы-

ваться как

часть

комплексной константы.

├─────────┼──────────────────────────────────────────────────────┤ │F2112 │ <name>:not symbolic constant │

│ Специфицированное имя не является символьной констан-│

│ │ той. │ ├─────────┼──────────────────────────────────────────────────────┤

│F2113

│ component of

COMPLEX number not INTEGER or REAL

Компонента числа типа COMPLEX не является типа REAL

или INTEGER.

 

├─────────┼──────────────────────────────────────────────────────┤ │F2114 │ parser stack overflow, statement too complex │

│ Оператор является слишком сложным для синтаксического│

│ │ анализатора. │

├─────────┼──────────────────────────────────────────────────────┤

│F2115

syntax error

Исходный файл содержит синтаксическую

ошибку в │

157

│ │ указанной строке. │

├─────────┼──────────────────────────────────────────────────────┤ │F2124 │ CODE GENERATION ERROR │

│ Компилятор не может сгенерировать код для выражения. │

│ Такая ошибка возникает обычно в случае очень сложно- │

│ │ го выражения. │

├─────────┼──────────────────────────────────────────────────────┤ │F2125 │ <name>:allocation exceeds 64K │

│ Размер указанного элемента превышает заданный предел,│

равный 64Кбайт.

Единственными элементами, которые могут вызвать эту

│ ошибку, являются массивы типа "huge" (массивы "очень │

│ │ большого размера"). │

├─────────┼──────────────────────────────────────────────────────┤ │F2126 │ <name>:automatic allocation exceeds 32K │

│ Подпрограмма или функция с именем <name> имеют значи-│

тельно большую величину генерируемых компилятором│

временных (рабочих) переменных, чем 32.767 байтов.│

│ Следует попытаться "расщепить" подпрограмму или функ-│

│ │ цию на более мелкие по размеру части. │

├─────────┼──────────────────────────────────────────────────────┤ │F2127 │ parameter allocation exceeds 32K │

│ Область сохранения, требуемая для аргументов функции,│

│ │ превысила предельный размер, равный 32Кбайт. │

├─────────┼──────────────────────────────────────────────────────┤

│F2128

│ <name>:huge array cannot be aligned to segment

boundary

Специфицированный массив нарушает одно из ограниче- │

│ ний, накладываемых на массивы "очень большого разме- │

│ │ ра" (типа "huge"). │

├─────────┼──────────────────────────────────────────────────────┤

│F2200

│ <subprogram>:formal argument

<name>:

CHARACTER *(*) cannot pass by

value

Параметры, передаваемые по

 

значению, должны иметь │

│ длину, которая может быть определена во время испол- │

нения.

Длины параметров типа CHARACTER *(*)

опреде- │

ляются

на этапе исполнения.

├─────────┼──────────────────────────────────────────────────────┤

│F2201

<subprogram>:type

redefined

Тип, заданный в

операторе

ENTRY, FUNCTION или │

│ SUBROUTINE был переопределен. Он отличается от типа, │

│ │ ранее определенного в подпрограмме. │

├─────────┼──────────────────────────────────────────────────────┤

│F2202

│ <subprogram>:defined

with different number of

│ arguments

 

FUNCTION или

│ Специфицированные операторы ENTRY,

SUBROUTINE были определены или ранее

использовались

в программе с другим

количеством параметров.

├─────────┼──────────────────────────────────────────────────────┤

│F2203

│ <subprogram>:formal argument <name>:symbol-class

│ mismatch

 

 

был определен

│ Специфицированный формальный параметр

│ с другим

классом.

функцию

в переменную,

│ Оператор

EXTERNAL, передающий

│ или какое-либо другое похожее

несовпадение классов,

│ могут вызвать появление такой

ошибки.

 

├─────────┼──────────────────────────────────────────────────────┤

│F2206

│ ENTRY seen before FUNCTION

or SUBROUTINE

│ Оператор

ENTRY в программе

указан раньше,

чем любой │

из операторов FUNCTION или

SUBROUTINE.

Оператор

ENTRY может указываться только в

функциях и │

158

│ │ подпрограммах. │

├─────────┼──────────────────────────────────────────────────────┤

│F2207

ENTRY not in function

or subroutine

Оператор ENTRY указан

в некотором программном фраг-

│ менте, не являющемся функцией или подпрограммой. Эта │

│ │ ошибка может возникнуть в головной программе. │

├─────────┼──────────────────────────────────────────────────────┤

│F2208

│ <name>:formal argument used as ENTRY

│ Специфицированное

имя

использовалось как формальный

│ параметр в "более

раннем" операторе ENTRY или в за-

головке подпрограммы,

которая является текущей под-

программой.

 

 

├─────────┼──────────────────────────────────────────────────────┤ │F2209 │ <name>:illegal as formal argument │

│ Символьный класс формального параметра был недействи-│

│ тельным. Формальный параметр может быть только пере- │

│ менной, массивом, подпрограммой, функцией или точкой │

│ │ входа. │

├─────────┼──────────────────────────────────────────────────────┤ │F2210 │ <name>:formal argument redefined │

│ Специфицированный формальный параметр указан в списке│

│ │ параметров более одного раза. │

├─────────┼──────────────────────────────────────────────────────┤

│F2211

│ alternate RETURN only legal within subroutine

вне

Переменный

оператор RETURN был специфицирован

процедуры.

 

 

├─────────┼──────────────────────────────────────────────────────┤

│F2212

│ <subprogram>:subprogram

used or declared before

│ INTERFACE

 

 

│ Специфицированная подпрограмма была использована

или объявлена прежде

соответствующего оператора

STATEMENT, указанного

в

программе.

├─────────┼──────────────────────────────────────────────────────┤ │F2213 │ <subprogram>:already defined │

│ Указанная подпрограмма уже была определена в текущем │

│ │ модуле. │

├─────────┼──────────────────────────────────────────────────────┤

│F2214

<subprogram>:already used or declared with different │

symbol class

│ Специфицированная подпрограмма была использована ра- │

│ нее в программе с другим классом. Например, подпрог- │

│ │ рамма, которая использовалась ранее в программе как │

│ функция и затем объявлена как процедура; в этом слу- │

│ │ чае может возникнуть данная ошибка. │

├─────────┼──────────────────────────────────────────────────────┤

│F2215

│ <subprogram>:ENTRY:CHARACTER lengths differ

│ Если в подпрограмме для

имени

точки входа

определен

│ тип CHARACTER, то имена

всех точек входа

в данной

│ подпрограмме

Если

должны

 

быть

точки

типа

│ CHARACTER.

одно

имя

входа

│ имеет тип

CHARACTER*(*), то

и все остальные имена

│ точек входа должны быть

такого же типа.

 

├─────────┼──────────────────────────────────────────────────────┤

│F2216

<subprogram>:CHARACTER and non-CHARACTER types mixed │

in ENTRY statements

│ Типы CHARACTER и не-CHARACTER были совместно исполь- │

│ │ зованы в подпрограмме. │

├─────────┼──────────────────────────────────────────────────────┤

│F2217

│ too many

PROGRAM

statements

В исходном файле

указано более одного оператора

PROGRAM.

 

 

159

В одной программе

можно использовать только один

оператор PROGRAM.

 

├─────────┼──────────────────────────────────────────────────────┤

│F2218

│ <name>:used or declared

before ENTRY statement

│ Специфицированное в операторе

ENTRY имя было ранее │

│ объявлено

(или

ранее

использовалось)

в той

же │

│ подпрограмме.

Эта

ситуация

вызывает │

│ конфликт

символьных

классов,

что

препятствует │

│ использованию имени в операторе ENTRY.

 

├─────────┼──────────────────────────────────────────────────────┤

│F2219

<subprogram>:formal argument <name>:VALUE/REFERENCE

mismatch

│ Оператор INTERFACE или предыдущий вызов специфицируют│

способ передачи

указанного параметра, отличный от│

того, что задан в текущем объявлении.

├─────────┼──────────────────────────────────────────────────────┤

│F2220

│ <subprogram>:length

redefined

Длина функции при ее вызове отличается от той, что

указана при задании

функции.

├─────────┼──────────────────────────────────────────────────────┤

│F2221

│ <subprogram>:formal

argument <name>:NEAR\FAR\HUGE

│ mismatch

 

в описании

подпрограммы

│ В операторе INTERFACE и

атрибуты NEAR, FAR,

HUGE

были определены различными

способами.

 

 

 

├─────────┼──────────────────────────────────────────────────────┤

│F2222

│ <name>:formal

argumet

previously initialized

В одной и

той

же подпрограмме формальный

параметр

оператора

ENTRY ранее

указан в операторе

DATA.

├─────────┼──────────────────────────────────────────────────────┤

│F2223

<subprogram>:formal argument <name>:

subprogram passed by VALUE

│ Формальный параметр имеет атрибут типа VALUE. Подпро-│

граммы

не

могут передаваться

в элементы, имеющие│

атрибут

VALUE.

├─────────┼──────────────────────────────────────────────────────┤ │F2224 │ <name>:language attribute mismatch │

│ Атрибуты языка были по-разному объявлены в операторе │

│ │ INTERFACE и в объявлении подпрограммы. │

├─────────┼──────────────────────────────────────────────────────┤

│F2225

│ <name>:NEAR/FAR attribute

mismatch

 

В операторе INTERFACE

и в

объявлении подпрограммы

атрибуты NEAR или FAR

используются

по-разному.

├─────────┼──────────────────────────────────────────────────────┤

│F2226

│ <name>:VARYING attribute mismatch

ни в операторе

Атрибут VARYING не использовался

INTERFACE, ни в объявлении подпрограммы.

├─────────┼──────────────────────────────────────────────────────┤

│F2227

│ <subprogram>:formal

argument <name>:

│ previously

passed by

value, now by reference

Формальный

параметр,

ранее передававшийся по значе-

нию, был передан по

ссылке.

│ Для формального параметра должен быть указан атрибут │

│ │ VALUE. │

├─────────┼──────────────────────────────────────────────────────┤

│F2228

<subprogram>:formal argument <name>:

previously passed by reference, now by value

│ Формальный параметр, ранее передававшийся по ссылке, │

│ был передан по значению.

│ Для формального параметра должен быть указан атрибут │

│ REFERENCE.

160