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

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

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

│F2730

│ <name>:cannot

modify active

DO variable

│

│

│ DO-переменная

не может быть

модифицирована внутри

│

│

│ данного

диапазона. Такую

ошибку может вызвать,

│

│

│ например, следующий программный фрагмет:

│

│

│

DO 100 I=1,10

 

│

│

│

OPEN

(33,

IOSTAT=I)

 

│

│

│ 100 CONTINUE

 

 

│

│

│

READ

(*,*) (I, I=1, 10)

 

│

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

│F2731

│

<iooption>: noncharacter array nonstandard

│

│

│

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

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

││ ные форматы языка. В этих случаях в качестве коррект-│

│

│ ных спецификаторов ввода/вывода следует

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

│

│

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

элементов и│

│

│

подстроки.

│

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

│F2732

│ <stmt>:nonstandard statement

END DO, DO

WHILE,

│

│

│ (IMPLICIT

NONE,

INCLUDE, SELECT,

│

│

│

NAMELIST,

TYPE,

END TYPE, TYPE()

и

т.д.). Оператор

│

│

│

нестандартный и

задана метакоманда

$STRICT.

 

│

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

│F2733

│ <iooption>: option nonstandard

 

 

│

│

│

Указанный параметр

ввода/вывода не является частью

│

│

│

стандартного языка

ФОРТРАН-77;

он

не может быть за-

│

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

│ │ метакоманда $STRICT). │

├─────────┼──────────────────────────────────────────────────────┤ │F2734 │ END=:illegal when REC= present │

││ В операторах READ должны присутсвовать оба параметра:│

│ │ REC= и END= │

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

│F2735

│

REC=:illegal

when

FMT=*

│

│

│

В операторах

READ

и WRITE применение параметра REC=

│

││ является некорректным, если используется ввод/вывод, │

│ │ управляемый списком. │

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

│F2736

│ LOCKING:nonstandard

│

│

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

│

│

│

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

│

│

│

запрещено.

│

├─────────┼──────────────────────────────────────────────────────┤ │F2737 │ <iooption>:lowercase in string nonstandard │

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

│

│ команда

$STRICT), то значение специфицированного па-│

│

│ раметра

ввода/вывода должно

быть

задано прописными│

│

│ буквами.

Например,

запись

ACCESS='DIRECT' является│

│

│

в

данном

случае

корректной;

ACCESS='direct' - │

│

│

некорректной.

 

 

│

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

│F2738

│

<name>:HUGE internal

units illegal

│

│

│

Массив, используемый

как "внутреннее

устройство", не│

││ может быть объявлен с атрибутом HUGE, или использован│

│

│

в метакоманде $LARGE. Размер массива не может

превы-│

│

│

шать размер сегмента.

│

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

│F2739

│ <name>:record length too large

for internal unit

│

│

│ Для несимвольного массива,

используемого

как "внут-

│

│

│ реннее

устройство", размер

элемента, умноженный на

│

│

│

"элемент счета"

(т.е. на длину

записи во

внутреннем

│

│

│

файле)

оказался

слишком большим.

 

│

181

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

│F2740

│ RECL=:out

of range

было меньше или равно 0,

│

│

│

Значение

параметра RECL=

│

│

│

либо превысило максимальное

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

│

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

│F2741

│

ACCESS=:nonstandard option value

│

│

│

Этот параметр не используется для доступа к файлу.

│

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

│F2742

│

format specification

illegal when

namelist specified

│

│

│

Спецификаторы NML= и

FMT= взаимно

исключающие.

│

├─────────┼──────────────────────────────────────────────────────┤ │F2743 │ <name>:NML=:not a namelist group name │

││ Имя, определяемое спецификатором NML=, было объявлено│

│ │ в операторе NAMELIST. │

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

│F2744

│

NML=:namelist group name missing

│

│

│

Спецификатор NML= требует имени в качестве параметра.│

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

│F2745

│ <name>:i/o of entire structures illegal

│

│

│ Читаться или писаться в файл, используя форматный

│

│

│

ввод/вывод могут только переменные элементы типа

│

│

│

структуры.

│

├─────────┼──────────────────────────────────────────────────────┤ │F2800 │ <name>:CHARACTER*(*) type illegal │

││ Элемент был объявлен с типом CHARACTER*(*), но не был│

│

│

указан в списке формальных параметров в текущей

под-│

│

│

программе.

│

├─────────┼──────────────────────────────────────────────────────┤ │F2801 │ no ASSIGN statements for assigned GOTO (or FMT=) │

││ Фрагмент программы не имеет операторов ASSIGN для ис-│

││ пользования с присваиваемым оператором GOTO или спе- │

│ │ цификатором FMT=. │

├─────────┼──────────────────────────────────────────────────────┤ │F2803 │ <name>:ASSIGN:variable not INTEGER │

││ В операторах ASSIGN корректными являются только пере-│

│ │ менные типа INTEGER*n или INTEGER. │

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

│F2804

│ <name>:ASSIGN:too many INTEGER*1

variables

могут

ис-

│

│

│

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

переменные типа

INTEGER*1

│

│

│

пользовать только

первые 127 операторов ASSIGN.

Это

│

││ ограничение обусловлено ограничениями области памяти │

│ │ для хранения элементов типа INTEGER*1. │

├─────────┼──────────────────────────────────────────────────────┤ │F2805 │ label <number>:redefined in program unit │

││ Специфицированная метка ранее указана в подпрограмме.│

│ │ Метки не могут быть определены больше одного раза│

││ внутри этой подпрограммы. Эта ошибка возникает также,│

││ если в DO-цикле указана ссылка на определенную ранее │

│ │ метку. │

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

│F2806

│ DO-loop variable:not

a variable

константой,

│

│

│

Переменная DO-цикла была символьной

│

│

│

но не фактической

переменной.

 

│

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

│F2807

│

<name>:illegal use of active DO-loop variable

│

│

│

Неправильным является использование действительной│

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

││ DO-цикла вo встроенном операторе DO. Внутри DO-циклов│

││ значения переменным DO-цикла назначены быть не могут.│

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

│F2808

│ DO-loop variable not INTEGER or REAL

│

182

│

│

В качестве

переменных DO-цикла допустимы только

│

│

│

переменные

типа INTEGER*n и REAL*n.

│

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

│F2809

│ DO-loop expression

not INTEGER or REAL

│

│

│

В качестве границ DO-цикла допустимы

только выраже- │

│

│

ния типа INTEGER*n

и REAL*.

│

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

│F2810

│

zero illegal as increment

│

│

│

В качестве приращений в DO-циклах допустимы

только │

││ ненулевые приращения (в противном случае цикл никог- │

│ │ да не завершится). │

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

│F2811

│ IF or ELSEIF missing

│

│

│

Нарушено

соответствие операторов IF или ELSEIF и

│

│

│

ELSE или

ELSEIF, заданных в программе.

│

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

│F2812

│ ENDIF missing

 

│

│

│

Прежде, чем был указан оператор END, не все блоки

│

│

│

IF-ENDIF были

завершены.

│

├─────────┼──────────────────────────────────────────────────────┤ │F2813 │ DO-loop label <number>:not seen │

││ Не все DO-циклы были завершены прежде, чем был указан│

│ │ оператор END. │

├─────────┼──────────────────────────────────────────────────────┤ │F2814 │ IF, ELSEIF, or ELSE missing │

││ Нарушено соотвествие оператора IF, ELSEIF или ELSE и │

│ │ оператора ENDIF, указанных в программе. │

├─────────┼──────────────────────────────────────────────────────┤ │F2815 │ assigned GOTO variable not INTEGER │

││ Для присваиваемых переменных GOTO корректным является│

│

│

использование только элементов типа INTEGER*n

и│

│

│

INTEGER.

│

├─────────┼──────────────────────────────────────────────────────┤ │F2816 │ computed GOTO variable not INTEGER │

││ Для вычисляемых переменных GOTO допустимо использова-│

│ │ ние только элементов типа INTEGER*n и INTEGER. │

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

│F2817

│ expression type not LOGICAL

│

│

│

Для логических операторов или блочных операторов

│

│

│

IF типы выражений дожны быть типа LOGICAL[*n].

│

├─────────┼──────────────────────────────────────────────────────┤ │F2818 │ expression type not INTEGER or REAL │

││ Типы выражений для арифметических операторов IF долж-│

│ │ ны быть типа INTEGER[*n] или REAL[*n]. │

├─────────┼──────────────────────────────────────────────────────┤ │F2819 │ illegal statement after logical IF │

││ За логическими операторами IF могут следовать только │

│ │ "одностроковые" операторы. За логическим оператором │

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

│

│

операторов DO,

ELSE, ELSEIF, END, ENDIF, блочный IF │

│

│

и логический IF.

│

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

│F2820

│ block label <number>:must not be referenced

│

│

│

На метки,

указываемые в операторах ELSE и ELSEIF,

│

│

│

ссылаться

нельзя.

│

├─────────┼──────────────────────────────────────────────────────┤ │F2821 │ label <number>:previously used as executable label │

││ Специфицированная метка, ранее указанная как исполни-│

│

│

тельная метка,

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

│

│

оператора FORMAT

или оператора спецификации.

│

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

183

│F2822

│ label <number>:previously used as FORMAT label

│

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

││ оператора FORMAT, была использована как исполнитель-│

│ │ ная метка или метка оператора спецификации. │

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

│F2823

│

DO-loop label <number>:out of order

│

│

│

Специфицированная метка завершения

оператора DO не│

││ была упорядочена. Метки DO-цикла могут быть повторены│

│ │ в обратном порядке. │

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

│F2824

│ assigned and unconditional GOTO illegal here

│

│

│

Присваиваемые и безусловные GOTO-операторы не могут

│

│

│

обеспечить выход из DO-цикла.

│

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

│F2825

│ block and

arithmetic IF illegal here

│

│

│

Блоковые и арифметические операторы IF не могут

│

│

│

завершать

DO-цикл.

│

├─────────┼──────────────────────────────────────────────────────┤ │F2826 │ statement illegal as DO-loop termination │

││ Для завершения DO-цикла не могут использоваться опе- │

││ раторы ELSE, ELSEIF, END, ENDIF, FORMAT или STOP. │

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

│F2827

│ STOP (or

PAUSE):

maximum of 5 digits

 

│

│

│

Операторы STOP и

PAUSE предполагают только цифровые

│

│

│

значения

в диапазоне от 0 до 99.999,

включительно.

│

├─────────┼──────────────────────────────────────────────────────┤ │F2828 │ ASSIGN target not an INTEGER variable │

││ В качестве "адресатов" в операторах ASSIGN предпола- │

│ │ гаются только переменные типа INTEGER. │

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

│F2829

│ STOP (or PAUSE):illegal expression

PAUSE являются

│

│

│

Действительными в операторах STOP и

│

│

│

только целочисленные или символьные

константы.

│

├─────────┼──────────────────────────────────────────────────────┤ │F2830 │ END missing │

││ Оператор END не указан как последний оператор в моду-│

│ │ ле. │ ├─────────┼──────────────────────────────────────────────────────┤ │F2831 │ label <number>:must not be referenced │

││ Указанная метка присутствует в операторе спецификации│

│ │ или операторе DATA. │

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

│F2832

│ statement illegal in INTERFACE

│

│

│

В операторах INTERFACE действительны только опера-

│

│

│

торы описания (спецификации).

│

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

│F2833

│

RETURN:integer or character expression required

│

│

│

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

││ метакоманда $STRICT), то после оператора RETURN могут│

││ следовать только целочисленные или символьные выраже-│

│ │ ния. │ ├─────────┼──────────────────────────────────────────────────────┤ │F2834 │ <name>:alternate RETURN missing │

││ В специфицированной подпрограмме задан альтернирующий│

│

│

оператор RETURN,

тогда как он не задан в объявлении│

│

│

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

│

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

│F2835

│

statement

out of order

or END missing

│

│

│

Оператор

спецификации

был вложен в

исполнительный │

││ оператор; вне правильной последовательности операто- │

││ ров "возник" другой оператор, либо предыдущая прог- │

184

│ │ рамма не была завершена оператором END. │

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

│F2836

│ statement out of order

│

│

│

Оператор появился вне допустимой последовательности │

│

│

операторов в программе. Например, оператор

специфи-│

││ кации мог появиться вместе с исполнительными операто-│

│ │ рами. │

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

│F2837

│ label <number>:undefined

на которую есть ссылка в

│

│

│

Специфицированная метка,

│

│

│

программе, не была определена.

│

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

│F2838

│ statement illegal

in BLOCK DATA

│

│

│

В подпрограммах в

конструкции BLOCK DATA допустимы

│

│

│

только операторы DATA и операторы спецификации типа. │

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

│F2839

│ only variables allowed in assigned GOTO statements

│

│

│

В присваиваемых операторах GOTO разрешены только

│

│

│

переменные.

│

├─────────┼──────────────────────────────────────────────────────┤ │F2840 │ <name>:assumed-size array:not reference argument │

││ Массивы "допустимого размера" должны передаваться по │

│

│

ссылке. Они не могут быть локальными

объектами │

│

│

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

│

├─────────┼──────────────────────────────────────────────────────┤ │F2841 │ <name>:adjustable-size array:not reference argument │

││ Массивы "настраиваемого размера" должны передаваться │

│

│

по ссылке. Они

не могут быть локальными объектами │

│

│

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

│

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

│F2842

│ too many assigned GOTO statements

255 присваиваемых

│

│

│

В подпрограмме допустимо не

более

│

│

│

операторов GOTO (это ошибка

компиляции).

│

├─────────┼──────────────────────────────────────────────────────┤ │F2843 │ statement illegal with INTERFACE TO │

││ Интерфейс должен относиться к подпрограмме или функ- │

││ ции. Оператор INTERFACE TO может не использоваться │

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

├─────────┼──────────────────────────────────────────────────────┤ │F2844 │ no matching DO loop │

││ Операторы EXIT, CYCLE или END DO не имеют соответст- │

│ │ вующего DO-цикла. │

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

│F2845

│

END SELECT missing

не имеет завершения.

│

│

│

Конструкция SELECT

│

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

│F2846

│

DO-LOOP ENDDO:not seen

│

│

│

Для цикла DO без метки

не найден оператор завершения.│

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

│F2848

│ statement illegal in STRUCTURE declaration

│

│

│

В объявлении STRUCTURE допустим только оператор

│

│

│

STRUCTURE.

│

├─────────┼──────────────────────────────────────────────────────┤ │F2860 │ expresiion must be integer, character, or logical │

││ Выражение SELECT CASE должно быть целочисленным, типа│

│ │ CHARACTER*1 или логическим. │

├─────────┼──────────────────────────────────────────────────────┤ │F2861 │ no matching SELECT CASE statement │

││ Оператор SELECT CASE не имеет предварительно заданно-│

│ │ го оператора SELECT CASE. │

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

185

│F2862

│ only

one CASE

DEFAULT allowed

│

│

│

В операторе SELECT CASE допустимо не более одного

│

│

│

CASE

DEFAULT.

 

│

├─────────┼──────────────────────────────────────────────────────┤ │F2863 │ CASE values must be constant expression │

││ Значение CASE не может быть переменной или выражением│

│ │ которое содержит переменные. │

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

│F2864

│

CASE

value type does not match SELECT CASE expression│

│

│

type

│

││ Тип значения CASE и типы данных выражения SELECT CASE│

│ │ должны совпадать. │

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

│F2865

│ overlapping case values

│

│

│

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

│

│

│

одному значению CASE.

│

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

│F2866

│ The CASE

statement must follow a SELECT CASE

│

│

│ statement

CASE появился

без предварительно заданного

│

│

│

Оператор

│

│

│

оператора SELECT CASE.

 

│

├─────────┼──────────────────────────────────────────────────────┤ │F2867 │ LOGICAL case value ranges illegal │

││ Логическое значение регистра не должно задаваться как│

│ │ диапазон значений. │

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

│F2868

│ SELECT CASE:character expression must

be length 1

│

│

│

Допустимы только символьные выражения

типа

│

│

│

CHARACTER*1.

 

│

├─────────┼──────────────────────────────────────────────────────┤ │F2869 │ lower value exceeds upper value in case value range │

││ Значение слева от двоеточия должно быть больше значе-│

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

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

│F2870

│

<name>:element is an array

│

│

│

Поле, являющееся массивом структур, не индексируется.│

├─────────┼──────────────────────────────────────────────────────┤ │F2901 │ -4I2 or -4I4 expected │

││ По умолчанию поддерживаются только 2-х и 4-х байтовые│

│ │ целочисленные и логические значения. │

├─────────┼──────────────────────────────────────────────────────┤ │F2902 │ -4Y and -4N: both options used for argument │

││ В обоих параметрах компиляции-/4Y и /4N-была специфи-│

│ │ цирована метакоманда $DO86 или $FREEFORM. │

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

│F2993

│

separator expected in format

│

│

│

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

│

││ метакоманды $STRICT), в качестве разделителей элемен-│

│ │ тов используются запятая (,), двоеточие (:), правая│

││ круглая скобка ( )) или слэш (/), за исключением сле-│

│

│ дующих случаев:

│

││ - между дескриптором преобразования P и дескрипторами│

│

│

F, D, E или

G (они следуют

друг за другом без│

│

│

разделителей);

 

│

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

│

│ образования в виде слэша (/);

│

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

│ │ образования в виде двоеточия (:). │

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

│F2994

│

\or $ : nonstandard edit descriptor in format

│

│

│

Дескрипторы преобразования \ и $ не входят в состав│

186

││ стандартного ФОРТРАНа-77, а являются расширением язы-│

│

│

ка. Данная ошибка возникает, если используется

пара-│

│

│

метр компиляции /4Ys (или метакоманда $STRICT).

│

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

│F2995

│

Z : nonstandard edit descriptor in format

│

│

│

Дескриптор преобразования Z не входит

в состав │

││ стандартного ФОРТРАНа-77, а является расширением язы-│

││ ка. Эта ошибка возникает, если используется параметр │

│ │ компиляции /4Ys (или метакоманда $STRICT). │

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

2.2.3 Сообщения о восстанавливаемых ошибках

Перечисленные ниже сообщения указывают на наличие в программе "потенциальных проблем", но не препятствуют выполнению процедур компиляции и компоновки. Параметр компиляции /W на вывод сообщений данного типа воздействия не оказывает.

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

├─────────┼──────────────────────────────────────────────────────┤ │F3606 │ <subprogram>:formal argument <name>:type mismatch │

││ Тип формального параметра не совпадает с типом факти-│

││ ческого параметра, используемого в вызове подпрограм-│

│ │ мы. │ ├─────────┼──────────────────────────────────────────────────────┤ │F3607 │ <subprogram>:formal argument <name>:length mismatch │

││ Длина формального параметра отличается от длины фак- │

│ │ тического параметра, используемого в программе. │

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

2.2.4 Предупреждающие сообщения об ошибках

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

┌─────────┬──────────────────────────────────────────────────────┐ │ Номер │ Предупреждающие сообщения об ошибках │

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

│F4000

│

UNKNOWN WARNING

│

│

│

Встретилось неизвестное предупреждение.

│

├─────────┼──────────────────────────────────────────────────────┤ │F4001 │ colon expected following ALIAS │

││ Атрибут ALIAS задан в неправильной форме. Правильным │

│ │ будет его следующий вид: ALIAS:<string>. │

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

│F4002

│ $DEBUG:'<debug-list>' illegal with $FREEFORM

в

│

│

│ Данная форма метакоманды $DEBUG была использована

│

│

│

тот момент, когда была действительна метакоманда

│

│

│

$FREEFORM.

 

│

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

│F4003

│ $DECMATH not support

│

│

│

Метакоманда $DECMATH в данной версии ФОРТРАНа не

│

│

│

поддерживается.

│

├─────────┼──────────────────────────────────────────────────────┤ │F4006 │ metacomand already set │

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

│ │ указана только один раз. │

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

187

│F4007

│ metacomand

must come before all FORTRAN statements

│

│

│

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

появляться прежде всех

│

│

│

операторов

языка ФОРТРАН.

 

│

├─────────┼──────────────────────────────────────────────────────┤ │F4008 │ character following metacomand ignored │

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

│ │ ной метакомандой, игнорируются. │

├─────────┼──────────────────────────────────────────────────────┤ │F4010 │ <filename>:error closing file │

││ При закрытии исходного файла возникла системная ошиб-│

│ │ ка. │ ├─────────┼──────────────────────────────────────────────────────┤ │F4011 │ empty escape sequence │

││ В конце Си-строки был встречен символ обратного слэша│

││ (\), например 'abc\'. Он замещается на ноль. Обратный│

│ │ слэш должен быть удален. │

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

│F4014

│ <character>:nonalphabetic character

in $DEBUG ignored│

│

│ В идентификатор

метакоманды был включен небуквенный

│

│

│

символ. Допустимыми являются только

символы a-z или

│

│

│

A-Z; регистр не

является значимым.

 

│

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

│F4056

│

overflow in constant arithmetic

│

│

│

Результат операции превышает значение #7FFFFFFF.

│

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

│F4057

│

owerflow in constant multiplication

│

│

│

Результат операции превышает значение #7FFFFFFF.

│

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

│F4058

│

adress of

frame

variable taken,

DS!=SS

│

│

│

Программа

была

скомпилирована

с сегментом данных,│

││ принимаемым по умолчанию (DS), размер которого не ра-│

││ вен размеру стекового сегмента (SS); программа "пыта-│

│

│

лась" выполнить ссылку на переменную типа фрейма с│

│

│

помощью указателя типа "near".

│

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

│F4059

│ segment

lost in

conversion

│

│

│ В результате

выполнения операции преобразования

│

│

│ "дальнего" указателя

(типа "far"; полный адрес) в

│

│

│

"ближний" адрес

(типа

"near"; только смещение) был

│

│

│

потерян

адрес сегмента.

│

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

│F4060

│ conversion of long adress to

short adress

│

│

│

В

результате

выполнения

операции преобразования│

│

│

адреса типа "far" (32-х разрядный указатель) в

адрес│

││ типа "near" (16-ти разрядный указатель) был потерян│

│ │ адрес сегмента. │

├─────────┼──────────────────────────────────────────────────────┤ │F4061 │ long/short mismatch in argument:conversion supplied │

││ Фактические и формальные параметры функции отличают- │

│

│

ся типом основания. Тип фактического параметра был │

│

│

преобразован к типу формального параметра.

│

├─────────┼──────────────────────────────────────────────────────┤ │F4062 │ near/far mismatch in argument: conversion supplied │

││ Фактические и формальные параметры функции отличают- │

││ ся указателем размера. Размер фактического параметра │

││ был преобразован к размеру формального параметра. │

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

│F4063

│ <name>:function too large for post-optimiser

│

│

│ Компилятор

предпринял попытку выполнить процедуру

│

│

│

оптимизации

функции, но при этом произошел выход за

│

│

│

пределы доступной памяти. Выдается предупреждение,

│

188

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

│

│ полнение процедуры компиляции.

Чтобы избежать такой

│

│

│

ошибки, рекомендуется разбить

функцию на несколько

│

│

│

"более мелких" функций.

 

│

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

│F4064

│ procedure too large,

skipping <optimization>

│

│

│ optimization and continuing

│

│

│

Компилятор

пытался

выполнить заданный тип оптимиза-│

│

│

ции,

но

при этом

произошел выход за пределы дос-│

││ тупной памяти. Выдается сообщение, заданная часть оп-│

│

│ тимизации пропускается, компиляция продолжается.

│

│

│

Чтобы избежать такой ошибки, рекомендуется разбить│

│

│

функцию на несколько "более мелких" функций.

│

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

│F4065

│ Recoverable

heap

overflow in post-optimizer - some

│

│

│ optimization may

be

missed

│

│

│

Компилятор

пытался

выполнить процедуру оптимизации│

│

│

функции, но

при этом произошел выход за пределы дос-│

││ тупной памяти. Выдается предупреждение, процедура оп-│

││ тимизации пропускается, компиляция продолжается. │

││ Для предотвращения возникновения такой ошибки следует│

││ разбить функцию на несколько "более мелких" функций. │

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

│F4066

│

local symbol table overflow - some local symbol may

│

│

│

be missing in listings

│

││ При выполнении операции сбора локальных символов для │

││ листинга исходного файла компилятор "вышел" за преде-│

│

│

лы

доступной области памяти. В листинге указываются │

│

│

не

все символы.

│

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

│F4072

│

insufficient

memory

to process

debugging information

│

│

│

Пользователь

задал

параметр

компиляции /Zd,

но

│

││ компилятор не имел достаточной памяти для сохранения │

│

│

всей требуемой

для отладки информации (это ошибка │

│

│

компиляции).

│

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

│F4186

│ string too long

- truncated to 40 characters

│

│

│

В метакоманде $TITLE или $SUBTITLE использована

│

│

│

строка, длиннее

40 символов. Строка усекается.

│

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

│F4201

│ ENTRY:formal argument

<na,e>:ATTRIBUTE <attribute>: │

│

│ mismatch

и при

│

│

│

В объявлении

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

│

│

произошло несоответствие атрибутов VALUE и REFERENCE.│

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

│F4202

│ <subprogram>:formal

argument <name>:never used

│

│

│ Если

на

некоторый

формальный параметр

не происходит│

│

│

ссылок, то

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

│

│

ного

параметра назначена переменная. В

модели

памяти│

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

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

│ │ памяти (т.е. не такой величины, которая требуется в│

││ действительности). Данное сообщение подавляется любым│

│

│

из предыдущих

сообщений об ошибках компиляции (вида│

│

│

F2xxx).

│

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

│F4303

│ <name>:language attributes illegal on formal

│

│

│ arguments

│

│

│

В текущей процедуре для формального параметра был

│

│

│

специфицирован атрибут языка (Си или ПАСКАЛя).

│

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

189

│F4313

│ <name>:not previonsly

declared

/4Yd (или

│

│

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

│

│

│

метакоманды

$DECLARE)

имя <name> не было

объявлено

│

│

│

в операторе

типа прежде, чем оно было использовано.

│

├─────────┼──────────────────────────────────────────────────────┤ │F4314 │ <instrinsic>:declared with wrong type │

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

│

│

раторе INTRINSIC. Некорректный

тип игнорируется и │

│

│

используется корректный тип.

│

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

│F4315

│ <name>:<attribute> illegal

with attributes specified │

│

│ same list

 

│

│

│

Специфицированный атрибут противоречит атрибуту,

│

│

│

указанному в том же списке

атрибутов элемента.

│

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

│F4316

│ <name>:<attribute>

illegal with attributes specified │

│

│ in earlier list

 

│

│

│

Специфицированный

атрибут противоречит атрибуту, │

│

│

ранее указанному в

списке атрибутов элемента.

│

├─────────┼──────────────────────────────────────────────────────┤ │F4317 │ <name>:<attribute>attribute repeated │

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

│ │ ранее в списке атрибутов элемента. │

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

│F4318

│ <name>:<attribute>illegal

on COMMON statements

│

│

│

Специфицированный атрибут

является некорректным в

│

│

│

объявлениях "общих" блоков.

│

├─────────┼──────────────────────────────────────────────────────┤ │F4319 │ <name>:<attribute> illegal on formal arguments │

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

│ │ формальных параметров. │

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

│F4320

│ <name>:<attribute> illegal on ENTRY statements

│

│

│

Специфицированный

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

│

│

│

операторах ENTRY.

 

│

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

│F4321

│ <name>:<attribute> illegal on subprogram statements

│

│

│

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

│

│

│

операторах SUBPROGRAM.

│

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

│F4322

│ <name>:<attribute> illegal on variable declarations

│

│

│

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

│

│

│

объявлениях переменных.

│

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

│F4323

│ <name>:<attribute> illegal on type

declarations

│

│

│

Специфицированный атрибут не может

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

│

│

│

объявлениях типов.

 

│

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

│F4325

│

<name>:<attribute> illegal on NAMELIST declarations

│

│

│

Атрибуты в объявлении NAMELIST некорректны.

│

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

│F4326

│

<name>:EQUIVALENCE:nonconstant upper substring

│

│

│

expression ignored

│

││ Выражение для вычисления "верхнего значения" подстро-│

││ ки в операторе EQUIVALENCE не являлось константой. │

│ │ Выражение игнорируется. │

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

│F4327

│

<name>:INTERFACE: not formal argument

│

│

│

Была объявлена переменная, которая не была задана в │

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

│

│ рованной в операторе INTERFACE.

│

190