Вирази будуються із використанням операторів і викликів процедур, які поєднують фактори. Вирази застосовуються в Plus-процедурах і в операндах операторів GPSS.
Змінні користувача, елементи матриць, комірки, параметри транзактів можуть мати значення різних типів даних. У GPSS World використовуються три основні типи даних – цілочисельний (integer), дійсний (real) і рядковий (string). Типи даних перетворюються явно за допомогою відповідних процедур, або неявно під час обчислення виразів.
До основних елементів виразів належать рядкові константи, дійсні константи, цілочисельні константи, імена, елементи Plus-матриці. звернення до процедур, стандартні числові атрибути. У виразах вони об’єднуються операторами і викликами процедур згідно з правилами, пов’язаними з конкретним оператором чи процедурою.
Оператори, які використовуються для об’єднання елементів у вирази, наведені у табл. 8.1. Зменшення пріоритетів враховано в арифметичних операторах.
Таблиця 8.1
Оператор | Дія | Результат |
- | Заперечення | Адитивна інверсія |
^ | Піднесення до степеня | Арифметичний показник степеня |
NOT або ~ | Інверсія | 1(TRUE) або 0 (FALSE) |
AND | Логічне І | 1(TRUE) або 0 (FALSE) |
OR | Логічне АБО | 1(TRUE) або 0 (FALSE) |
> або ‘G’ | Більше | 1(TRUE) або 0 (FALSE) |
< або ‘L’ | Менше | 1(TRUE) або 0 (FALSE) |
= або ‘E’ | Рівно | 1(TRUE) або 0 (FALSE) |
/ = або ‘NE’ | Не рівно | 1(TRUE) або 0 (FALSE) |
<= або ‘LE’ | Менше або рівно | 1(TRUE) або 0 (FALSE) |
>= або ‘GE’ | Більше або рівно | 1(TRUE) або 0 (FALSE) |
# (або *) | Множення | Арифметичний добуток |
/ | Ділення | Арифметична частка |
\ | Цілочисельне ділення | Цілочисельне ділення |
@ | Цілочисельний залишок | Цілочисельний залишок |
+ | Додавання | Арифметична сума |
- | Віднімання | Арифметична різниця |
Відповідно до цих пріоритетів обчислюються вирази з автоматичним перетворенням операндів на необхідні типи даних. Наприклад, рядки, які об’єднані арифметичним знаком “+”, автоматично перетворюються на числа, які додаються.
|
|