TEST O A, B, C

Операнды:

О – оператор отношения. Соотношение операнда А с операндом B, которое должно выполняться при проверке. Обязательный операнд Допустимые значения: Е, G, GE, L, LE или NE.

А – проверяемое значение. Обязательный операнд. Допустимые значения: Name, Number, String, ParenthesizedExpression, SNA или SNA'Parameter.

В – контрольное значение. Обязательный операнд. Допустимые значения: Name, Number, String, ParenthesizedExpression, SNA или SNA'Parameter.

С – номер блока назначения. Необязательный операнд. Допустимые значения: Null, Name, PosInteger, ParentnesizedExpression, SNA или SNA'Parameter.

Действие:

Блок TEST функционирует в режиме отказа и в режиме альтернативного выхода. В любом случае операнды А и В вычисляются и сравниваются.

Если операнд С не используется, блок TEST функционирует в режиме отказа. Когда транзакт пытается войти в блок TEST, работающий а режиме отказа, и заданное условие не выполня­ется, транзакт блокируется, т. е. ему не позволяется войти в блок TEST, проверка повторяется до тех пор, пока условие не будет выполнено. После выполнения заданного условия активный транзакт входит в блок TEST и затем переходит к следующему по порядку блоку.

Блокированные транзакты помещаются в список повторных попыток всех объектов, участвующих в сравнении. Когда состояние любого из этих объектов изменяется, заблокированный транзакт активизируется, проверка, определенная блоком TEST, повторяется, и, если условие выполняется, транзакту позволяется войти в блок TEST.

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

Оператор отношения обязателен. Его допустимые значения: E, G, GE, L, LE или NE. Условия определяются следующим образом:

Е: значение операнда А должно быть равно значению операнда В.

G: значение операнда А должно быть больше значения операнда В.

GE: значение операнда А должно быть больше или равно значению операнда В.

L: значение операнда А должно быть меньше значения операнда В.

LE: значение операнда А должно быть меньше или равно значению операнда В.

NE: значение операнда А должно быть не равно значению операнда B.

4. Когда транзакт пытается войти в блок ENTER, он либо занимает, либо ожидает освобождения определенного количества элементов памяти:


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: