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

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

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

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

│F2229

│ <subprogram>:formal argument

<name>:

│

│

│

previously passed with NEAR,

now with FAR or HUGE

│

│

│

Произошло несоответствие длин адресов. Эта ситуация

│

││ возникла потому, что не был задан оператор INTERFACE,│

││ специфицирующий атрибут FAR или HUGE для формального │

│ │ параметра. │

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

│F2230

│

<subprogram>:formal argument <name>:

│

│

│

previously passed with FAR or HUGE, now with NEAR

│

││ Не был задан оператор INTERFACE, специфицирующий для │

│ │ формального параметра атрибут NEAR. │

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

│F2231

│

<name>:PROGRAM:name redefined

│

│

│

Имя программы уже существует как глобальный объект.

│

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

│F2232

│

<subprogram>:formal

argument<name>:Hollerith

│

│

│

passed to CHARACTER

formal argument

│

││ Использование текстовых констант (констант Холлерита)│

│

│

разрешено только с константами типа INTEGER, REAL и

│

│

│

LOGICAL.

│

├─────────┼──────────────────────────────────────────────────────┤ │F2233 │ <name>:previously called near │

││ К функции, которая была объявлена ранее или обращение│

│

│ к

которой

осуществлялось

при

помощи

адресов│

│

│

типа

"near",

было

выполнено

обращение

при│

│

│

помощи адресов типа "far".

 

 

│

├─────────┼──────────────────────────────────────────────────────┤ │F2234 │ <name>:previously called far │

││ К функции, которая была объявлена ранее или обращение│

│

│ к

которой

осуществлялось

при

помощи

адресов│

│

│

типа

"far",

было выполнено

обращение при

помощи│

│

│

адресов типа "near".

 

 

│

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

│F2299

│ <name>:EQUIVALENCE:structure components

illegal

│

│

│

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

в операторе

│

│

│

EQUIVALENCE, но в отдельном поле структуры.

│

├─────────┼──────────────────────────────────────────────────────┤ │F2301 │ <name>:EQUIVALENCE(or COMMON):formal argument illegal│

││ Элемент, не являющийся локальной переменной или мас- │

│

│ сивом, либо

переменная

или массив в блоке общего

│

│

│

пользования,

указан в

операторах EQUIVALENCE или

│

│

│

COMMON.

 

 

│

├─────────┼──────────────────────────────────────────────────────┤ │F2302 │ <name>:EQUIVALENCE:not array │

││ В операторе EQUIVALENCE указан элемент, не являющийся│

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

│ │ фицирован список индексов. │

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

│F2303

│ <name>:EQUIVALENCE:array subscripts missing

│

│

│ Для объявления указанного массива была использована

│

│

│

конструкция типа x(). Если границы

массива

специфи-

│

│

│

цировать требуется, следует убрать

круглые

скобки.

│

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

│F2304

│

<name>:EQUIVALENCE:nonconstant offset illegal

│

│

│

Для

массива,

специфицированного в операторе

│

││ EQUIVALENCE, использовалось непостоянное смещение. │

├─────────┼──────────────────────────────────────────────────────┤ │F2305 │ <name>:nonconstant lower substring expression illegal│

││ В операторе EQUIVALENCE нижняя граница выражения типа│

│

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

│

161

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

│F2306

│ <name>:EQUIVALENCE enclosing class too big

│

│

│ При вычислении смещения в выражении

типа массива в

│

│

│

операторе

EQUIVALENCE произошло

арифметическое

│

│

│

переполнение.

 

│

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

│F2307

│ <name>:allocatable array illegal

│

│

│

Размещаемые массивы не могут указываться в списках

│

│

│

операторов COMMON или EQUIVALENCE.

│

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

│F2308

│ <name>:COMMON(or NAMELIST):length specification

│

│

│ illegal

 

│

│

│ Спецификация длины типа в операторе COMMON является

│

│

│

ошибочной операцией.

Для объявления длины следует

│

│

│

использовать отдельный

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

│

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

│F2309

│<name>:COMMON(or NAMELIST):attributes on

items illegal│

│

│ Атрибут STRUCTURE может

указываться

так же как и

│

│

│

атрибут COMMON.

 

 

│

│

│

Поля в структуре STRUCTURE

могут не иметь атрибутов. │

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

│F2310

│ <name>:COMMON (or EQUIVALENCE):SUBROUTINE

│

│

│ (or FUNCTION) name illegal

│

│

│ Имя функции или процедуры было включено в оператор

│

│

│ COMMON или

EQUIVALENCE.

│

│

│ Правильным

является лишь использование локальных

│

│

│ переменных

и массивов.

│

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

│F2311

│

<name>:COMMON (or

EQUIVALENCE or STRUCTURE):

│

│

│

preinitialization

illegal

│

││ Элементы в операторах COMMON или EQUIVALENCE не могут│

│

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

│

│

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

│

│

│

Для оператора DATA следует использовать стандартную

│

│

│

нотацию.

│

├─────────┼──────────────────────────────────────────────────────┤ │F2312 │ <name>:COMMON(or EQUIVALENCE):formal argument illegal│

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

│ │ в операторе COMMON или EQUIVALENCE. │

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

│F2313

│ <name>:COMMON(or EQUIVALENCE or

NAMELIST):not an

│

│

│ array or

variable

EQUIVALENCE был использован

│

│

│

В операторе

COMMON или

│

│

│

элемент,

не

являющийся

массивом

или переменной.

│

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

│F2314

│ <array>:COMMON:too big

блока общего пользования

│

│

│

При вычислении размера

│

│

│

произошло арифметическое переполнение.

│

├─────────┼──────────────────────────────────────────────────────┤ │F2315 │ <array>:COMMON:array size nonconstant or zero │

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

│ │ зовано значение 0 или не значение константы. │

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

│F2316

│ <name1>,<name2>:EQUIVALENCE:both in blank common

│

│

│

block

элемента,

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

в

 

│

│

│

Два

операторе │

││ EQUIVALENCE с различными смещениями, оба оказались в │

│

│ пустом блоке

общего

пользования.

В

операторе

│

│

│

EQUIVALENCE

 

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

как

│

│

│

размещенные

в одной и

той же области

памяти.

 

│

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

162

│F2317

│ <name1>,<name2>:EQUIVALENCE:both in common

block

│

│

│

<commonblock>

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

 

│

│

│

Два

элемента,

операторе │

││ EQUIVALENCE с различными смещениями, оба оказались в │

││ одном поименованном блоке. Эти элементы специфициро- │

│

│

ваны в операторе EQUIVALENCE как имеющие одну и ту │

│

│

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

│

├─────────┼──────────────────────────────────────────────────────┤ │F2318 │ <name1>,<name2>:EQUIVALENCE:in different common block│

││ Два элемента, находящиеся в различных "общих" блоках,│

││ были специфицированы в одном операторе EQUIVALENCE. │

├─────────┼──────────────────────────────────────────────────────┤ │F2319 │ <name>:EQUIVALENCE:extends blank common block forward│

│ │ В оераторе EQUIVALENCE: является неправильным уве-│

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

││ ния элементов памяти в начало "общего" блока, объяв- │

│ │ ленного в операторе COMMON. │

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

│F2320

│ <name>:EQUIVALENCE:extends common

block

<commonblock>│

│

│ forward

неправильным уве-

│

│

│

В операторе EQUIVALENCE, является

│

│

│

личивать размер поименованного "общего"

блока путем

│

││ добавления элементов памяти в начало "общего" блока, │

│ │ объявленного в операторе COMMON. │

├─────────┼──────────────────────────────────────────────────────┤ │F2321 │ <name1>,<name2>:EQUIVALENCE:conflicting offsets │

││ При обработке оператора EQUIVALENCE были выявлены два│

││ элемента, которые должны иметь, но не имеют, одинако-│

││ вое смещение. Такую ошибку может породить несогласо- │

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

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

│F2322

│ <name>:EQUIVALENCE:two different common blocks

│

│

│

Оператор EQUIVALENCE "помещает" один элемент в два

│

│

│

различных "общих" блока.

│

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

│F2323

│

<commonblock>:COMMON:size

changed

│

│

│

Размер специфицированного

"общего" блока отличается

│

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

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

├─────────┼──────────────────────────────────────────────────────┤ │F2324 │ <commonblock>:COMMON:too big to be NEAR │

││ Специфицированный "общий" блок, объявленный с атрибу-│

│ │ том NEAR, имеет размер больший, чем сегмент. │

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

│F2325

│ <name>:COMMON:function or subroutine

name

│

│

│

Указанное имя было

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

и как имя блока

│

│

│

общего пользования и

как имя функции

или процедуры.

│

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

│F2326

│ <name>:already in COMMON

в

операторе COMMON где-ни-

│

│

│

Указанное имя

появлялось

│

│

│

будь в другом

месте данной

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

│

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

│F2327

│

<name>:EQUIVALENCE:needs at least two items

│

│

│

Оператор EQUIVALENCE имеет менее 2-х элементов.

│

├─────────┼──────────────────────────────────────────────────────┤ │F2328 │ <name>:already typed │

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

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

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

│F2329

│

blank common cannot be HUGE

│

│

│

В модели памяти средней емкости размер "общих" пустых│

163

││ элементов должны быть меньше, чем размер сегмента. │

│

│

Поименованные "общие"

элементы этому ограничению│

│

│

не подчиняются.

│

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

│F2330

│ <name>:already dimensioned

│

│

│ Границы

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

│

│

│

ранее в

соответствующем операторе описания в той

│

│

│

же самой подпрограмме.

│

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

│F2331

│ <name>:types

illegal

on BLOCK

│

│

│ DATA/COMMON/PROGRAM/SUBROUTINE

│

│

│

Указанный элемент не

является элементом одного из

│

│

│

классов, для

которых

может быть указан тип.

│

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

│F2332

│ <name>:cannot initialize

in type statemens

│

│

│ Была предпринята попытка

инициализировать указанный

│

│

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

│

│

│

параметр компиляции /4Ys (или была действительна

│

│

│

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

 

│

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

│F2333

│ <name>:DIMENSION:not array

│

│

│ Указанный в операторе DIMENSION элемент (например

│

│

│

элемент, уже объявленный в операторе EXTERNAL или

│

│

│

PARAMETER) не является массивом.

│

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

│F2334

│

<name>:ALLOCATABLE:bounds must be omitted

│

│

│

Индексами в объявлении размещаемого массива должны

│

││ быть двоеточия; параметры верхних и нижних границ не │

│ │ задаются. │

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

│F2336

│ <array>:array bounds missing

│

│

│ Оба выражения для

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

│

│ потеряны при объявлении

указанного массива.

│

│

│

Необходимо указание

по

крайней мере верхней границы │

│

│

массива.

 

 

│

├─────────┼──────────────────────────────────────────────────────┤ │F2337 │ <array>:*:not last array bound │

││ Массив "предполагаемого размера" был объявлен с сим- │

││ волом звездочки (*), которой не оказалось в специфи- │

│ │ кации значения последней границы массива. │

├─────────┼──────────────────────────────────────────────────────┤ │F2338 │ <array>:bound size too small │

││ Размер границы указанного массива не был положитель- │

││ ным целым числом. Границы массива "настраиваемого │

││ размера" могут быть проверены на этапе исполнения. │

││ Данная ошибка этапа компиляции может возникнуть толь-│

││ ко в том случае, когда верхняя и (возможно указанная │

││ явно) нижняя границы массива "создают" отрицательный │

││ или нулевой счетчик элементов для границ массива. │

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

│F2339

│ <array>:adjustible-size array not in subprogram

│

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

│

│

лен

в программе, объявленной

с оператором PROGRAM

│

│

│

или

BLOCK DATA. Массив данного

типа действителен в

│

││ подпрограмме только в операторах ENTRY, FUNCTION или │

│ │ SUBROUTINE. │

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

│F2340

│ IMPLICIT already seen

был просмотрен, так что

│

│

│

Оператор

IMPLICIT

уже

│

│

│

оператор

IMPLICIT

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

│

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

164

│F2341

│ <letters>:IMPLICIT:only single letter allowed

│

│

│

В операторе IMPLICIT верхнее или нижнее значение

│

│

│

диапазона не является единственным символом.

│

├─────────┼──────────────────────────────────────────────────────┤ │F2342 │ INPLICIT NONE already seen │

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

│ │ IMPLICIT NONE. │

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

│F2343

│ <letter1>,<letter2>:IMPLICIT:lower limit exceeds

│

│

│ upper limit

│

│

│

Значение

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

│

│

│

IMPLICIT

меньше значения нижнего предела.

│

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

│F2344

│ <letter>:already

IMPLICIT

│

│

│

Указанный

символ

уже

был

специфицирован ранее в

│

│

│

операторе

IMPLICIT в

той

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

│

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

│F2345

│ <name>:illegal use of

SAVE (or EXTERNAL, INTRINSIC,

│

│

│ PARAMETER, AUTOMATIC)

<name> было ранее указано в

│

│

│

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

│

│

│

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

 

│

├─────────┼──────────────────────────────────────────────────────┤ │F2346 │ <name>:INTRINSIC:unknown name │

││ Указанное имя <name> не является именем поддерживае- │

│ │ мой встроенной функции. │

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

│F2348

│

<name>:already declared SAVE (or EXTERNAL, INTRINSIC,│

│

│

PARAMETER, AUTOMATIC)

│

││ Специфицированное имя <name> было объявлено в одном и│

│ │ том же операторе типа несколько раз. │

├─────────┼──────────────────────────────────────────────────────┤ │F2349 │ <name>:PARAMETER:nonconstant expression │

││ Указанный элемент был объявлен в операторе PARAMETER │

│ │ со значением, не являющимся константой. │

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

│F2350

│

RECORD:structure type illegal in IMPLICIT

statement

│

│

│

Структурные переменные не могут вводиться

неявно.

│

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

│F2351

│ <name>:repeated in formal-argument list

│

│

│

Указанный элемент был повторен в списке формальных

│

│

│

параметров операторной функции.

│

├─────────┼──────────────────────────────────────────────────────┤ │F2352 │ <name>:formal argument not local variable │

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

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

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

│F2354

│ <name>:statement function already

declared

│

│

│

Указанная операторная

функция уже

была объявлена в

│

│

│

текущей подпрограмме.

 

 

│

├─────────┼──────────────────────────────────────────────────────┤ │F2355 │ <name>:formal argument not a variable │

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

││ ного элемента присутствуют в списке формальных пара- │

│ │ метров операторной функции. │

├─────────┼──────────────────────────────────────────────────────┤ │F2356 │ <name>:statement function:too few actual arguments │

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

│ │ больше, чем имеется фактических параметров. │

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

│F2357

│

<name>:statement function:too many actual arguments │

│

│

Для операторной функции фактических параметров задано│

165

│ │ больше, чем объявлено формальных параметров. │

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

│F2359

│ <type>:illegal length

типа был использован

│

│

│ В объявлении

для заданного

│

│

│

некорректный

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

длины. Например, такую

│

│

│

ошибку может

вызвать выражение REAL*13.

│

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

│F2360

│ END STRUCTURE: no matching STRUCTURE statement

│

│

│

Оператор END STRUCTURE задан без предшествующего

│

│

│

оператора STRUCTURE.

│

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

│F2361

│ <stmt>:not a name

│

│

│

Параметр

оператора STRUCTURE или END STRUCTURE не

│

│

│

является

символическим именем.

│

├─────────┼──────────────────────────────────────────────────────┤ │F2362 │ integer constant expression expected │

││ Для необязательной спецификации длины/типа предпола- │

│

│

галось целочисленное значение или целочисленное вы-

│

│

│

ражение.

│

├─────────┼──────────────────────────────────────────────────────┤ │F2363 │ length <value>:illegal type length │

││ В операторе типа был использован нулевой или отрица- │

│

│

тельный спецификатор длины, либо

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

│

│

│

ны был больше наибольшего для всех

допустимых типов.

│

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

│F2364

│ only C attribute

legal on INTEGER type

│

│

│

В операторе

типа

INTEGER присутствует атрибут,

│

│

│

отличный от

атрибута C.

│

├─────────┼──────────────────────────────────────────────────────┤ │F2365 │ attributes illegal on non-INTEGER types │

││ Атрибуты в операторах типа являются некорректными. │

││ Атрибуты не могут употребляться как переменные. │

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

│F2366

│

DOUBLE

PRECISION:lenght specifith illegal

│

│

│

DOUBLE

COMPLEX:lenght specifith illegal

│

││ Оператор DOUBLE PRECISION или DOUBLE COMPLEX содержал│

│

│ спецификатор длины.

│

││ DOUBLE PRECISION соответствует REAL*8; DOUBLE COMPLEX│

│ │ соответствует COMPLEX*8. │

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

│F2367

│

value <value>:INTEGER:range error

│

│

│

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

выпол-│

││ нена операция преобразования типов, либо тип целочис-│

││ ленного элемента "конфликтует" с размером целого чис-│

│

│ ла, указанного в параметре компиляции /4I (или

мета-│

│

│ команде $STORAGE).

Такая ошибка может произойти,│

│

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

│

│

│

$STORAGE:2

 

│

│

│

INTEGER*4 i

│

│

│

i=300000*30000

│

│

│

i=

10* 4000

│

│

│

i=-30000-30000

│

│

│

END

 

│

│

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

│

│

│соответствующую встроенную функцию INT2 или INT4.

│

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

│F2368

│ <name>:truncated to

6 characters

 

│

│

│ При использовании

параметра компиляции /4Ys (или

│

│

│

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

не может превышать

│

│

│

6 символов.

 

 

│

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

166

│F2369

│ <name>:$ illegal in C name

 

│

│

│ Использование символ доллара в специфицированном

│

│

│ имени является ошибкой для Си-переменной.

│

│

│ В

именах

Си-переменных

допустимо

│

│

│ использовать только символы подчеркивания (_) и

│

│

│ буквенно-цифровые символы.

 

│

├─────────┼──────────────────────────────────────────────────────┤ │F2370 │ length specification illegal │

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

││ такоманда $STRICT), тогда спецификации длины возмож- │

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

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

│F2371

│ <name1>,<name2>:EQUIVALENCE:character and

│

│

│ noncharacter items mixed

│

│

│

В операторе EQUIVALENCE "перемешаны" символьные и

│

│

│

несимвольные элементы.

│

├─────────┼──────────────────────────────────────────────────────┤ │F2372 │ <name>:more than 7 array bounds │

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

│

│

такоманды $STRICT) массив может быть

не более, чем │

│

│

7-ми мерным.

│

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

│F2373

│

<name>:REFERENCE or VALUE only legal on formal

│

│

│

arguments

│

││ Атрибуты REFERENCE или VALUE были использованы с эле-│

│

│ ментом,

который

не был объявлен в списке

формальных│

│

│ параметров

процедуры.

 

 

│

│

│ Если элемент используется

в операторе типа, тогда│

│

│

элемент

с

атрибутом

должен

также быть

указан и в│

│

│

списке формальных

параметров

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

│

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

│F2374

│ <name>:attributes illegal on array bounds

│

│

│

Для элементов, используемых для задания размерности

│

│

│

массива, применение атрибутов недопустимо.

│

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

│F2375

│

<name>:assumed-size array: cannot

pass

by value

│

│

│

Массив "предполагаемого размера"

был

передан

как │

││ фактический параметр в процедуру, которая имеет соб- │

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

│ │ VALUE. │

├─────────┼──────────────────────────────────────────────────────┤ │F2376 │ <name>:adjustable-size array:cannot pass by value │

││ Массив "настраиваемого размера" был передан как фак- │

││ тический параметр в подпрограмму, которая имеет свой │

││ собственный формальный параметр, объявленный с атри- │

│ │ бутом VALUE. │

├─────────┼──────────────────────────────────────────────────────┤ │F2377 │ <name>:NEAR common block has HUGE item │

││ "Общий" блок, объявленный с атрибутом NEAR, включает │

│

│

элемент (элементы), который требует

"общий" блок │

│

│

"очень большого" размера.

│

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

│F2378

│ <name>:NEAR array bigger than segment

│

│

│

Размер массива,

объявленного с атрибутом NEAR,

│

│

│

превышал размер

сегмента.

│

├─────────┼──────────────────────────────────────────────────────┤ │F2379 │ <name>:item in common block crosses segment │

││ Элемент или компонента (элемент) массива в "общем" │

│

│ блоке выходит за

границы сегмента.

│

│

│

Элементы

или

массивы

должны быть выровнены

│

│

│

по границам сегмента.

 

│

167

├─────────┼──────────────────────────────────────────────────────┤ │F2380 │ <name>:VARYING illegal on symbol class │

││ Атрибут VARYING был применен к "какому-то элементу", │

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

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

│F2381

│ <commonblock>:NEAR/FAR/HUGE attribute

│

│

│

mismatches default

│

│

│

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

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

│

│

му" блоку в предыдущей подпрограмме.

│

│

│

В программах модели памяти средней

емкости атрибут │

││ NEAR используется неявно, если размер "общего" блока │

││ не требует, чтобы "общий" блок был определен с атри- │

│

│ бутом

HUGE.

В

программах

модели

или

памяти

│

│

│

большой

емкости

 

атрибуты

FAR

HUGE

│

│

│

используются неявно.

 

 

 

 

│

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

│F2382

│ <commonblock>:<attribute>

attribute mismatch with

│

│

│

earlier NEAR/FAR/HUGE

объявлении "общего" блока

│

│

│

Атрибут, заданный ранее в

│

││ (возможно даже в другой подпрограмме), отличается от │

│ │ текущего атрибута. │

├─────────┼──────────────────────────────────────────────────────┤ │F2383 │ <name>:COMMON:character and noncharacter items mixed │

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

││ такоманды $STRICT) в "общем" блоке не могут одновре- │

│

│

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

эле- │

│

│

менты.

│

├─────────┼──────────────────────────────────────────────────────┤ │F2384 │ <name>:<attribute> variable cannot be AUTOMATIC │

││ Атрибут должен быть одном из следующих: HUGE, EXTERN,│

│ │ FAR, ALLOCATABLE. │

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

│F2385

│

<name>:STRUCT has no elements

│

│

│

Структура STRUCT была объявлена без полей компонент. │

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

│F2386

│

NAMELIST:group name required

│

│

│

Имя должно задаваться в слэшах.

│

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

│F2387

│ <name>:STRUCTURE:intrinsic type name

│

│

│

Получаемые имена

типов могут не быть такими же, как

│

│

│

имена встроенных

типов.

│

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

│F2388

│ <name>:NAMELIST:array bounds

illegal

│

│

│

В операторе NAMELIST допустимо использовать только

│

│

│

имена переменных и массивов.

 

│

├─────────┼──────────────────────────────────────────────────────┤ │F2389 │ <name>:not a STRUCTURE name │

││ Параметр в операторе STRUCTURE() ранее не был указан │

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

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

│F2390

│

<name>:ALLOCATABLE:common block variable illegal

│

│

│

Переменные общего блока могут не быть размещаемыми.

│

├─────────┼──────────────────────────────────────────────────────┤ │F2391 │ <name>:ALLOCATABLE:equivalenced variable illegal │

││ Эквивалентным переменным может быть не задан атрибут │

│ │ размещения. │

├─────────┼──────────────────────────────────────────────────────┤ │F2392 │ MAP:no enclosing UNION statement │

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

│

│ UNION.

│

168

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

│F2393

│

<name>:element name conflicts with operator

│

│F2394

│

<name>:NAMELIST:structure illegal

│

││ Структурные переменные не могут указываться в группе │

│ │ NAMELIST. │

├─────────┼──────────────────────────────────────────────────────┤ │F2395 │ UNION:not in STRUCTURE │

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

│ │ STRUCTURE. │

├─────────┼──────────────────────────────────────────────────────┤ │F2396 │ <name>:ALLOCATABLE:must be in array │

││ Переменная была задана с атрибутом размещения, но не │

│ │ размерности. │

├─────────┼──────────────────────────────────────────────────────┤ │F2401 │ <name>:DATA:illegal address expression │

││ В операторе DATA для указания смещения использовалось│

│

│

некорректное выражение.

Для элементов в операторе│

│

│

DATA действительны только

постоянные смещения.

│

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

│F2402

│ <name>:cannot initialize

format argument

│

│

│

Инициализируемый элемент

является формальным

│

│

│

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

 

│

├─────────┼──────────────────────────────────────────────────────┤ │F2403 │ <name>:cannot initialize item in blank common block │

││ Для инициализации в пустом "общем" блоке специфици-│

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

│ │ вать оператор DATA. │

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

│F2404

│

<name>:can

only initialize common block in BLOCK DATA│

│

│

subprogram

│

││ Была предпринята попытка инициализировать специфици- │

│

│

рованный элемент, поименованный

в "общем" блоке, в │

│

│

операторе DATA.

│

├─────────┼──────────────────────────────────────────────────────┤ │F2405 │ <name>:DATA:not an array or variable │

││ В операторах DATA могут быть инициализированы только │

│ │ массивы и переменные. │

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

│F2406

│

<name>:repeat count not positive

integer

│

│

│

Повторный счет для инициализации

специфицированного

│

││ элемента не был положительным целочисленным значени- │

│ │ ем. │ ├─────────┼──────────────────────────────────────────────────────┤

│F2407

│

<name>:DATA nonconstant item in initializer list

│

│

│

Для инициализации специфицированного элемента в

опе-│

││ раторе DATA было использовано значение, не являющееся│

│ │ константой. │

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

│F2408

│

<name>:DATA:too

few

constants

to initialize item

│

│

│

Оператор DATA

не

содержит

достаточного количества│

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

│ │ та. │ ├─────────┼──────────────────────────────────────────────────────┤ │F2409 │ <name>:nonstatic address illegal in initialization │

││ При обработке списка встроенных DO-циклов операторов │

│

│ в операторе DATA

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

│

│ статического адреса. Следует убедиться, что элемент

│

│

│

имеет в качестве

спецификаторов индексов постоянные

│

│

│

величины.

 

│

├─────────┼──────────────────────────────────────────────────────┤ │F2410 │ <name>:bound or increment not constant │

169

│

│

Значения границы элемента, специфицированного в

│

│

│

операторе DATA, не являлись константами.

│

├─────────┼──────────────────────────────────────────────────────┤ │F2411 │ <name>:DATA:zero increment │

││ В операторе DATA значение приращения для специфициро-│

│ │ ванного элемента равно нулю. │

├─────────┼──────────────────────────────────────────────────────┤ │F2412 │ <name>:DATA:active implied-DO variable │

││ Специфицированная переменная вложенности DO-операто- │

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

│ │ ции вложенных DO-операторов оператора DATA. │

├─────────┼──────────────────────────────────────────────────────┤ │F2413 │ <name>:DATA:implied-DO variable not INTEGER │

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

│ │ ные DO-циклы, типов INTEGER и INTEGER*n. │

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

│F2414

│ <name>:DATA:not array-element name

│

│

│ В операторах

DATA

в инициализируемых вложенных

│

│

│

DO-операторах

могут

быть инициализированы только

│

│

│

элементы массива.

 

│

├─────────┼──────────────────────────────────────────────────────┤ │F2415 │ DATA:too few constants to initialize names │

││ Список констант был исчерпан прежде, чем была завер- │

│ │ шена инициализация списка имен. │

├─────────┼──────────────────────────────────────────────────────┤ │F2416 │ <name>:bound or increment not INTEGER │

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

││ такоманды $STRICT) для приращений и границ вложенных │

││ DO-циклов в операторе DATA применимы только элементы │

││ типа INTEGER. В противном случае, применим любой │

││ арифметический тип; он "округляется" до типа INTEGER │

││ путем неявного использования встроенной функции INT. │

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

│F2417

│ DATA:iteration count not positive

│

│

│

В списке вложенных DO-циклов (...,dovar=start,stop,

│

│

│

inc): если приращение <inc> является положительным,

│

││ тогда <start> должно быть больше <stop>; если прира- │

│

│ щение <inc> отрицательное, тогда

<stop> должно быть

│

│

│

больше <start>. Если это условие

не выполняется, то

│

│

│

цикл будет выполняться ноль раз,

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

│

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

│F2418

│ <name>:variable was declared automatic

│

│

│

Переменная,

помещаемая в стэк (объявленная с типом

│

│

│

AUTOMATIC),

не может быть задана с атрибутом HUGE.

│

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

│F2419

│

<name>:cannot initialize allocatable array

│

│

│

Размещаемый массив не указывается в операторе DATA.

│

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

│F2490

│ <name>:STAT= must be last parameter

│

│

│

Параметр STAT= должен быть последним в операторе

│

│

│

ALLOCATE.

│

├─────────┼──────────────────────────────────────────────────────┤ │F2491 │ <name>:<stmt>:not allocatable array │

││ Имя в операторе размещения не является именем разме- │

│

│

щаемого массива. (Второй параметр есть ALLOCATE или

│

│

│

DEALLOCATE).

│

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

│F2492

│

<stmt>:STAT= variable must be

scalar

│

│

│

Первый параметр есть ALLOCATE

или DEALLOCATE.

│

├─────────┼──────────────────────────────────────────────────────┤ │F2493 │ <name>:*: illegal bound │

170