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

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

.pdf
Скачиваний:
162
Добавлен:
31.05.2015
Размер:
2 Мб
Скачать
☆

││ метакоманды $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