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

Методическое пособие

.pdf
Скачиваний:
17
Добавлен:
31.05.2015
Размер:
302.32 Кб
Скачать

Спецификация конфигурации (configuration specification) связывает копии ID

компонента, именуемого NM, с сущностью и архитектурным телом прямо либо косвенно, ссылаясь на модуль конфигурации, и устанавливает при этом фактические интерфейсы по параметрам настройки и портам.

Спецификация развязывания (disconnection specification) устанавливает

временную задержку TEX отключения драйверов сигналов с именами NM и

типом NM1.

Клоз использования (use clause) обеспечивает прямую видимость объектов

по выбору в библиотеках и пакетах. Множество видимых объектов определяется селективными именами SLN.

Объявления

 

Таблица 7

Обоз

Название

Определение

Пример

наче

 

 

 

ние

 

 

 

1

2

3

4

DI

Элемент

SPD SPB TD STD CTD

 

 

объявления

SGD VRD FLD ALD CMD

 

 

(declaration item)

ATD ATS CFD DIS USC

 

SPD

Объявление

procedure ID | SL

procedure Adder_Bits

 

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

[(IFD; ; IFD)];

(A: in Bit_Vector(0 to 31);

 

(subprogram

function ID | SL

N: out Integer);

 

declaration)

[(IFD; ; IFD)] return

 

 

 

NM;

 

SPB

Тело

procedure ID | SL

procedure Adder_Bits

 

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

[(IFD; ; IFD)] is

(A: in Bit_Vector(0 to 31);

 

(subprogram body)

DI … DI

N: out Integer) is

 

 

begin SST … SST

begin

 

 

end [ID | SL];

N:=0;

 

 

function ID | SL [(IFD; ;

for I in 0 to 31 loop

 

 

IFD)] return NM is

if A(I)=’1’ then N:=N+1;

 

 

DI … DI

end if;

 

 

begin SST … SST

end loop;

 

 

end [ID | SL];

end Adder_Bits;

TD

Объявление типа

SCLR CMPS ACC FIL ICD

 

 

(type declaration)

 

 

STD

Объявление

subtype ID is STI;

subtype Word is

 

подтипа (subtype

 

Bit_Vector(15 downto 0);

 

declaration)

 

subtype Day is Integer

 

 

 

range 1 to 31;

STI

Указание подтипа

[RFN] NM range EX to EX

RF Character range ‘A’ to ‘Z’

 

(subtype indication)

[RFN] NM range EX downto

Real range 1 downto –1

 

 

EX

Integer range A’RANGE

 

 

[RFN] NM range ATN

Memory(0 to 1024,

 

 

[RFN] NM (EX to EX, … ,

31 downto 0)

 

 

EX downto EX)

 

11

 

 

 

Окончание табл.7

 

 

 

 

1

2

3

4

CTD

Объявление

constant ID, … ,ID:

constant Bound : Integer

 

константы (constant

STI [:=EX];

:=255;

 

declaration)

 

 

SGD

Объявление

signal ID, … ,ID: STI [:=EX];

signal Register:

 

сигнала (signal

 

Bit_Vector(0 to 7)

 

declaration)

 

:=”00000000”;

VRD

Объявление

variable ID, … ,ID:

variable RAM:

 

переменной

STI [:=EX];

Memory(0 to X”FFFF”);

 

(variable

 

 

 

declaration)

 

 

FLD

Объявление файла

file ID : STI is [MODE] NM;

file Fil: Stud_Data is out

 

(file declaration)

 

Students;

ALD

Повторное

alias ID : STI is NM;

alias Sign: Bit is Word(31);

 

объявление (alias

 

 

 

declaration)

 

 

CMD

Объявление

component ID

component Register

 

компонента

generic (IFD; … ;IFD);

generic (N:Integer:=32);

 

(component

port (IFD; … ;IFD);

port (R,A,B,Cl: in Bit;

 

declaration)

end component;

Q: out

 

 

 

Bit_Vector(1 to N));

 

 

 

end component;

ATD

Объявление

attribute ID : NM;

attribute Probability: Real;

 

атрибута (attribute

 

 

 

declaration)

 

 

ATS

Спецификация

attribute ID of

attribute Probability of

 

атрибута (attribute

NM, ,NM | others | all :

Flag1,Flag2: variable

 

specification)

entity | architecture |

is 0.1;

 

 

configuration | procedure |

 

 

 

function | package | type |

 

 

 

subtype | constant | signal |

 

 

 

variable | component |

 

 

 

label

 

 

 

is EX;

 

CFD

Спецификация

for ID, ,ID : NM use

for Mult7,Mult8,Mult9:

 

конфигурации

entity NM [(ID)] |

Multiplier

 

(configuration

configuration NM |

use entity

 

specification)

open

Multipl (Behavior);

 

 

[generic map (AE, ,AE)]

 

 

 

[port map (AE, ,AE)];

 

DIS

Спецификация

disconnect

disconnect Sig_0: Integer

 

развязывания

NM, ,NM |

after 0.5ns;

 

(disconnection

others |

 

 

specification)

all :

 

 

 

NM1 after TEX;

 

USC

Клоз

use SLN, … ,SLN;

use Standard.all,

 

использования (use

 

High_Synt.Cost;

 

clause)

 

 

12

1.9. Типы

Тип характеризуется множеством значений и множеством операций над ними. Язык содержит четыре класса типов (табл.8). К классу скалярный SCLR

(scalar) относятся перечислимый ENU (enumeration), целый INT (integer), с

плавающей точкой FLO (floating) и физический PHY (physical) типы. Класс составных CMPS (composite) типов включает массивы ARR (array) и записи

REC (record). Тип класса доступ ACC (access) обеспечивает доступ к объектам некоторого типа. Тип класса файл FIL (file) обеспечивает доступ к объектам, содержащим последовательность значений некоторого типа. Неполное определение типа (incomplete type declaration) используется для рекурсивного построения описаний типов посредством типа доступ.

Перечислимый тип определяется именем и множеством значений, представляемых идентификаторами или символьными литералами.

Целый тип и тип с плавающей точкой определяются восходящим или нисходящим диапазоном значений, описываемым парой выражений или посредством атрибута.

Физический тип определяет базовую физическую единицу и вторичные физические единицы, выраженные через ранее описанные посредством некоторого множителя. Этот тип определяет также целочисленный диапазон значений в базовых единицах.

Язык VHDL различает массивы двух типов: ограниченные (constrained) и

неограниченные (unconstrained). Массив характеризуется размерностью

(количеством индексов), диапазоном дискретных значений каждого индекса, подтипом элементов. В неограниченном массиве индексы определяются именами подтипов с последующим словом range <>, в ограниченном массиве диапазон значений индексов указывается явно или посредством атрибута.

Тип запись определяет множество именованных элементов. Имена всех элементов должны быть уникальными. Для каждого из них определяется подтип значения.

Тип доступ определяет подтип объектов, к которым осуществляется доступ. Тип файл определяет объекты, представляющие файлы в окружающей операционной среде. В объявлении файла указывается имя подтипа элементов

файла.

1.10. Выражения

Выражения в языке VHDL строятся из операндов и операций. К операндам относятся имена NM (names), (обозначающие объекты (object), значения

(value), атрибуты (attribute)), литералы LT (literal), агрегаты AGR (aggregate),

вызовы функций FUC (function call), квалифицирующие выражения QEX (qualified expression), преобразования типов TPC (type conversion) и аллокаторы ALC (allocator).

Имена описаны в разделе 1.3, литералы - в разделе 1.2.

13

Типы

 

 

Таблица 8

Обоз

 

 

 

 

наче

Название

Определение

Пример

ние

 

 

 

 

SCLR

Скалярный

ENU INT FLO PHY

 

 

 

(scalar)

 

 

 

ENU

Перечислимый

type ID is (ID|CL, ,ID|CL);

type ID is (red, blue, green);

 

(enumeration)

 

 

 

INT

Целый (integer)

type ID is range EX to EX;

type Month is range 1 to 12;

 

 

type ID is range EX downto EX;

type Index is range

 

 

type ID is range ATN;

0 downto 31;

 

FLO

Плавающий

type ID is range EX to EX;

type Probability is range 0 to 1;

 

(floating)

type ID is range EX downto EX;

type Tempr is range

 

 

type ID is range ATN;

2000 downto -80;

PHY

Физический

type ID is range EX to EX

type Distance is range 0 to 1e16

 

(physical)

units

units

 

 

 

ID;

A;

--angstrom

 

 

ID = PHL;

nm=10A;

--nanometer

 

 

end units;

um=1000nm; --micron

 

 

 

mm=1000um; --millimeter

 

 

 

cm=10mm;

--centimeter

 

 

 

end units;

 

CMP

Составной

ARR REC

 

 

S

(composite)

 

 

 

ARR

Массив (array)

type ID is array (NM range <>,

type Word is array (Natural

 

 

,NM range <>) of STI;

range <>) of Bit;

 

 

type ID is array (STI, ,STI) of

type Memory is array (Natural

 

 

STI;

 

 

type ID is array (EX to EX, ,

range <>) of Word;

 

 

EX downto EX) of STI;

 

 

 

 

type ID is array (ATN, ,

type ROM is array

 

 

ATN) of STI;

(0 to 65535,15 to 0) of Bit;

REC

Запись (record)

type ID is

type Time is

 

 

 

record

record

 

 

 

ID, ,ID : STI;

hour: Natural range 0 to 24;

 

 

• • •

min: Natural range 0 to 60;

 

 

ID, ,ID : STI;

 

 

sec: Natural range 0 to 60;

 

 

end record;

end record;

 

ACC

Доступ (access)

type ID is access STI;

type ROM_Pointer is access

 

 

 

ROM;

 

FIL

Файл (file)

type ID is file of NM;

type Text is file of String;

ICD

Неполное

type ID;

type Node;

 

 

определение

 

type Arc is access Node;

 

типа

 

type Node is

 

 

(type incomplete

 

record

 

 

definition)

 

Name: String;

 

 

 

 

Left: Arc;

 

 

 

 

Right: Arc;

 

 

 

 

end record;

 

14

Операнды

 

Таблица 9

Обозна

Название

Определение

Пример

чение

 

 

 

PRM

Операнд (operand)

NM LT AGR FUC QEX

 

 

 

TPC ALC

 

AGR

Агрегат (aggregate)

([EX| |EX=>]EX, … ,

(hour=>7,min=>23,sec=>15)

 

 

[EX| |EX=>]EX)

(8 to 15=>0,others=>1)

FUC

Вызов функции

NM[( [NM[(NM)] =>]EX,

factorial(9)

 

(function call)

, [NM[(NM)] =>]EX )]

find(N, Num_Array, LESS)

QEX

Квалифицирующее

NM’ (EX)

Integer’(A+B)

 

выражение (qualified

NMAGR

Date’(1999,2,8)

 

expression)

 

 

TPC

Преобразователь типа

NM (EX)

Real(N)

 

(type conversion)

 

 

ALC

Аллокатор (allocator)

new STI

new Cell’(“OR”,1.2ns,2)

 

 

new QEX

new Bit_Vector(31 downto 0)

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

Вызов функции влечет выполнение тела функции. В нем определяются имя функции и фактические параметры, ассоциируемые с формальными параме-

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

Квалифицирующее выражение используется для явного указания подтипа операнда, являющегося выражением или агрегатом. Вычисление квалифицирующего выражения сводится к вычислению значения операнда и проверке его принадлежности к указанному подтипу.

Преобразование типа предназначено для перехода от значения одного типа к эквивалентному значению другого близкого типа.

Выполнение аллокатора создает объект и возвращает значение доступа к этому объекту.

Множество операций VHDL делится (табл. 10) на классы логических,

отношений, аддитивных, мультипликативных, оставшихся.

Логические операции AND, OR, NAND, NOR, XOR и NOT предопределены для скалярных типов BIT и BOOLEAN, а также для одномерных массивов, состоящих из элементов этих типов.

Операции-отношения =, =/, <, <=, >, >= возвращают значение типа BOOLEAN. Тип операндов первых двух операций произволен. Тип операндов четырех оставшихся операций должен быть скалярным или одномерным массивом.

Аддитивные операции + и предопределены для любых числовых типов. Операция конкатенации & предопределена для одномерных массивов и их элементов.

15

Мультипликативные операции * и / предопределены для целых типов, типов с плавающей точкой и физических типов. Операции MOD и REM предопределены только для целых типов.

Операция ABS выполняется над числовыми типами. Левый операнд операции ** имеет числовой тип, правый операнд целый тип.

Операции

 

 

Таблица 10

Обозна

 

Название

Типы операндов и результата

чение

 

 

 

 

 

 

Логические операции

 

AND

 

Конъюнкция (conjunction)

BIT BIT_VECTOR BOOLEAN

 

 

 

BOOLEAN_VECTOR

OR

 

Дизъюнкция (disjunction)

BIT BIT_VECTOR BOOLEAN

 

 

 

BOOLEAN_VECTOR

NAND

 

Штрих Шеффера (Sheffer stroke)

BIT BIT_VECTOR BOOLEAN

 

 

 

BOOLEAN_VECTOR

NOR

 

Стрелка Пирса (Pierce arrow)

BIT BIT_VECTOR BOOLEAN

 

 

 

BOOLEAN_VECTOR

XOR

 

Исключающее ИЛИ (exclusive OR)

BIT BIT_VECTOR BOOLEAN

 

 

 

BOOLEAN_VECTOR

 

 

Операции-отношения

 

=

 

Равенство (equality)

Операнды – любые

 

 

 

Результат – BOOLEAN

/=

 

Неравенство (inequality)

Операнды – любые

 

 

 

Результат - BOOLEAN

<

 

Меньше (less)

Операнды – скалярные, одномерные

 

 

 

массивы

Результат - BOOLEAN

<=

 

Меньше либо равно (less-equal)

Операнды – скалярные, одномерные

 

 

 

массивы

Результат - BOOLEAN

>

 

Больше (greater)

Операнды – скалярные, одномерные

 

 

 

массивы

Результат - BOOLEAN

>=

 

Больше либо равно (greater-than)

Операнды – скалярные, одномерные

 

 

 

массивы

Результат - BOOLEAN

 

 

Аддитивные

операции

 

+

 

Сложение (addition)

Числовые типы

 

Вычитание (subtraction)

Числовые типы

&

 

Конкатенация (concatenation)

Одномерные массивы и их элементы

 

 

Мультипликативные

операции

 

 

 

Умножение (multiplication)

Числовые типы

/

 

Деление (division)

Числовые типы

MOD

 

Модуль (modulus)

Целые типы

REM

 

Остаток (remainder)

Целые типы

 

 

Разные операции

 

 

 

Экспонента (exponentiation)

Числовые типы

ABS

 

Абсолютное значение (absolute value)

Числовые типы

NOT

 

Отрицание (negation)

BIT BIT_VECTOR BOOLEAN

 

 

 

BOOLEAN_VECTOR

16

1.11. Параллельные операторы

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

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

Оператор процесс (process) описывает поведение некоторой части проекта. Если он включает список чувствительности с именами сигналов NM, то считается, что последним в операторе является оператор ожидания с этим списком чувствительности. Такой процесс не должен содержать других явных операторов ожидания. Выполнение оператора процесс заключается в

повторяющемся выполнении последовательных операторов, входящих в него.

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

Оператор параллельного вызова процедуры представляется оператором процесс без списка чувствительности, но с двумя последовательными операторами: последовательным вызовом процедуры и оператором ожидания. Параллельный оператор утверждения сводится к процессу аналогичным образом.

Параллельный оператор назначения сигнала также трансформируется в оператор процесс. Признак guarded означает, что оператор выполняется, когда сигнал GUARD меняет значение с TRUE на FALSE или когда сигнал имел значение TRUE и произошло событие на входах оператора. При наличии признака transport имеет место транспортная задержка сигнала, в противном случае - инерционная. В языке VHDL параллельный оператор назначения сигнала обобщен на условный и селективный.

Оператор конкретизации компонента определяет очередную копию внешнего объекта проекта и ассоциирует сигналы с портами компонента.

Оператор генерации представляет способ циклического или условного

порождения отдельного фрагмента полного описания VHDL–проекта.

17

Параллельные операторы

 

Таблица 11

Обозн-

Название

 

Определение

Пример

ачение

 

 

 

 

BL

Блок (block)

 

ID : block [(EX)]

B1 : block (Cl)

 

 

 

[generic (IFD; … ;IFD);

port (I1,I2: in Bit;

 

 

 

[generic map (AE, ,AE);]]

O1: out Bit);

 

 

 

[port (IFD; … ;IFD);

port map (I1=>S1,I2=>S5,

 

 

 

[port map (AE, ,AE);]]

O1=>Sig);

 

 

 

DI … DI

begin

 

 

 

begin

O1<=I1 xor I2;

 

 

 

CST …CST

end block B1;

 

 

 

end block [ID] ;

 

PRC

Процесс

 

[ID:] process [(NM, … ,NM)]

P0: process (Clock, A)

 

(process)

 

DI … DI

variable V3: Integer;

 

 

 

begin

begin

 

 

 

SST …SST

V3:=A*S1; S7<=V3+S2;

 

 

 

end process [ID] ;

end process P0;

CPC

Вызов

 

[ID:] NM

PC5: Circuit_Synthesis(Basis,

 

процедуры

 

[( [NM[(NM)]=>]EX, ,

Behavior, Timec, Costc);

 

(procedure call)

 

[NM[(NM)] =>]EX )] ;

 

CAS

Утверждение

 

[ID:] assert EX

assert Cond

 

(assertion)

 

[report EX]

report “Illegal Signal Value”

 

 

 

[severity EX] ;

severity WARNING;

CSA

Назначение

 

[ID:]NM<=[transport][guarded]

AS_9: Sig_7 <= transport

 

сигнала (signal

 

EX [after EX], ,

0101” after 5ns,

 

assignment)

 

EX [after EX] ;

1111” after 12ns;

 

 

 

[ID:] AGR <= [transport]

 

 

 

 

[guarded]

 

 

 

 

EX [after EX], ,

 

 

 

 

EX [after EX] ;

 

CCSA

Условное назна-

 

[ID:]NM<=WF when EX else

SG <= ‘1’ after 2ns

 

чение сигнала

 

...

when c=’0’ else

 

(conditional sig-

 

WF when EX else

‘0’ after 3.3ns

 

nal assignment)

 

WF;

 

CCSA

Селективное

 

[ID:] with EX select

SA: with Cond select

 

назначение

 

NM<=WF when CHO,

A <= B+C when “01”,

 

сигнала (selected

 

...

B-C when others;

 

signal

 

WF when CHO;

 

 

assignment)

 

 

 

CMI

Конкретизация

ID : NM

ADD_1: Adder

 

компонента

 

[generic map (AE, ,AE)]

generic map (17ns, 9ns)

 

(component

 

[port map (AE, ,AE)];

port map (C0,A,B,S,C1);

 

instantiation)

 

 

 

GEN

Генерация

 

ID : for ID in EX to EX

G1: for I in 0 to 15

 

(generate)

 

generate

generate

 

 

 

CST CST

C(I)<=A(I)+B(I);

 

 

 

end generate [ID];

end generate G1;

 

 

 

ID : if EX

G2: if N=1 generate

 

 

 

generate

Cl: Cell port map(S);

 

 

 

CST CST

end generate G2;

 

 

 

end generate [ID];

 

18

1.12. Последовательные операторы

Последовательные операторы (табл. 12) используются для описания алгоритмов в процессах и подпрограммах. Операторы выполняются в том порядке, в котором появляются.

Оператор ожидания wait приостанавливает процесс или процедуру. Он состоит из трех частей: списка чувствительности, условия продолжения выполнения и выражения для максимального времени выполнения. Список чувствительности включает имена сигналов, события на которых позволяют начать оператору выполняться. Если список чувствительности отсутствует, в него включаются имена сигналов, входящих в условие продолжения выполнения. Если отсутствует условие продолжения выполнения оператора ожидания, в его качестве принимается true. Если отсутствует максимальное время выполнения, то принимается максимально возможное время. Операторы ожидания не могут использоваться в функциях и процессах со списком чувствительности.

Оператор утверждения assert проверяет истинность условия и сообщает об ошибке, если условие ложно. Он состоит из выражения условия, выражения сообщения и выражения уровня ошибки.

Оператор назначения сигнала модифицирует планируемую временную диаграмму, содержащуюся в драйвере сигнала. Слово transport указывает на транспортную задержку, его отсутствие указывает на инерционную задержку. Временная диаграмма представляется последовательностью транзакций, которые добавляются в драйвер при выполнении оператора назначения сигнала.

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

Оператор вызова процедуры влечет выполнение процедурного тела. Каждому формальному параметру ставится в соответствие не более одного фактического, в случае отсутствия фактического параметра формальному параметру назначается значение по умолчанию.

Условный оператор if выбирает для выполнения не более одной вложенной последовательности операторов в зависимости от значения одного или более условий. Выражения, описывающие условия, имеют тип BOOLEAN.

Оператор выбора case вычисляет выражение и в зависимости от его значения выбирает для выполнения одну из определенных последовательностей операторов. Выражение должно иметь дискретный тип или тип одномерного массива. Элемент выбора задается именем, литералом, диапазоном, others.

Оператор цикла loop содержит в теле последовательность операторов, выполнение которой повторяется нулевое или большее число раз. Повторением управляет схема итерации типа for или типа while.

Оператор next предназначен для завершения очередной итерации некоторого вложенного цикла. Завершение может быть условным или безусловным. Цикл может указываться меткой, а условие завершения представляется выражением типа BOOLEAN. Оператор exit предназначен для условного или безусловного завершения выполнения одного из циклов.

19

Оператор возврата return используется для выхода из наиболее вложенного тела функции или процедуры.

Пустой оператор null не выполняет никаких действий.

Последовательные операторы

Таблица 12

Обозна

Название

Определение

Пример

чение

 

 

 

WT

Ожидание (wait)

wait [on NM, … ,NM]

wait on Clock

 

 

[until EX]

until A>B for 38ns;

 

 

[for EX];

 

SAS

Утверждение

assert EX

assert A and B = False

 

(assertion)

[report EX]

report “A and B equals

 

 

[severity EX] ;

true simultaneously”

 

 

 

severity NOTE;

SSA

Назначение

NM <= [transport]

Flag <= True after 700 fs;

 

сигнала (signal

EX [after EX], ,

 

 

assignment)

EX [after EX] ;

 

 

 

AGR <= [transport]

 

 

 

EX [after EX], ,

 

 

 

EX [after EX] ;

 

SVA

Присваивание

NM := EX ;

S := A xor B xor C0;

 

переменой (vari-

AGR := EX ;

 

 

able assignment)

 

 

SPC

Вызов

NM [( [NM[(NM)] =>]EX, ,

Multiply (Vector(3 to 12), M2,

 

процедуры

[NM[(NM)] =>]EX )];

M5);

 

(procedure call)

 

 

IF

Условный (if)

if EX then SST …SST

if A>B then R:=B+1;

 

 

[elsif EX then SST … SST

elsif B<0 then R:=2;

 

 

else R:=0;

 

 

elsif EX then SST … SST]

end if;

 

 

[else SST … SST]

 

 

 

end if;

 

CASE

Выбор (case)

case EX is

case Iv is

 

 

when EX||EX => SST…SST

when “00=> Res:=0;

 

 

when “11=> Res:=0;

 

 

when EX||EX => SST…SST

when others => Res:=1;

 

 

end case;

end case;

LOOP

Цикл (loop)

[ID:] while EX loop

while X/=Y loop

 

 

SST SST

if X>Y then X:=X-Y;

 

 

end loop [ID] ;

else Y:=Y-X;

 

 

[ID:] for ID in EX to EX loop

end loop;

 

 

SST SST

L1: for J in 1 to N loop

 

 

end loop [ID] ;

S:=S+A(J);

 

 

 

end loop L1;

NEXT

Следующий

next [ID] [when EX] ;

next when Flag=False;

 

(next)

 

 

EXIT

Выход (exit)

exit [ID] [when EX] ;

exit L2 when A and B;

RET

Возврат (return)

return [EX] ;

return 0;

NULL

Пусто (null)

null;

null;

20