Оператор имеет следующий формат:
а) поле метки, содержащее имя переменной;
б) поле операции, слово VARIABLE;
в) поле операндов, содержащее выражение для вычисления значения переменной.
Например,
VADD VARIABLE P10+25
Значение переменной VADD вычисляется как P10+25.
Или
COMP VARIABLE X1*P4/10
Арифметические переменные с фиксированной точкой вычисляются следующим образом:
а) сначала берется целая, часть от входящих в выражение значений и производится вычисление;
б) затем выделяется целая часть результата.
Арифметические переменные с плавающей точкой отличаются лишь тем, что только окончательный результат преобразуется к целому числу.
В булевых переменных допускаются три типа операторов: логические, булевы и операторы отношений. Когда задается булева переменная, то перед словом VARIABLE пишется буква В.
Логические операторы используются в блоке GATE:
SFj, SMFj, SNEj, LRj, LSj
SFj= 1, если МКУj заполнено, иначе 0;
SNFj=1, если МКУj не заполнено, иначе 0;
Sej = 1, если МКУj пусто, иначе 0;
SNEj = 1, если МКУj не пусто, иначе 0;
LRj = 1, если логический ключ j выключен, иначе 0;
LSj = 1, если логический ключ j включен, иначе 0.
Имеются следующие операторы отношений “G”- больше, “L” – меньше, “E” – равно, “NE” – не равно, “LE” – меньше или равно, “GE” – больше или равно
ATEST BVARIABLE X4 “G” P6
ATEST = 1, если значение ячейки 4 больше значения параметра 6 текущего транзакта.
Булевы операторы OR и AND.
BVAR1 BVARIABLE (X4 “G” P6) OR AxB
Блок TEST – осуществляется сравнение СЧА.
Формат блока
TEST X A, B, [C],
здесь X один из символов G, L, GE, LE, E, NE; A и B – стандартные числовые атрибуты, числа или имена; C – номер или имя блока, переход к которому осуществляется.
Например,
TEST E BV3,1,PRIM
Если значение Булевой переменной BV3 = 1, то переход к следующему блоку, если нет, то к блоку PRIM.
Блок TEST может работать в двух режимах:
а) в режиме безусловного входа;
б) в режиме условного входа.
В режиме безусловного входа, если в поле С задан номер следующего блока, транзакты не задерживаются на входе блока.
В режиме условного входа, если поле С пусто, транзакты не могут войти в блок TEST, пока не выполнятся проверяемые блоком условия.