Операции
В выражениях синтаксически различаются четыре класса операций с разными приоритетами (порядком выполнения). Операция ~ имеет самый высокий приоритет, далее следуют операции типа умножения, операции типа сложения и отношения. Операции одного приоритета выполняются слева направо. Например, x-y-z означает (x- y) -z.
Выражение | = | ПростоеВыражение [Отношение ПростоеВыражение]. |
ПростоеВыражение | = | ["+" | "-"] Слагаемое {ОперацияСложения Слагаемое}. |
Слагаемое | = | Множитель {ОперацияУмножения Множитель}. |
Множитель | = | Обозначение [ФактическиеПараметры] | число | символ | строка | NIL | Множество | "(" Выражение ")" | "~" Множитель. |
Множество | = | "{" [Элемент {"," Элемент}] "}". |
Элемент | = | Выражение [".." Выражение]. |
ФактическиеПараметры | = | "(" [СписокВыражений] ")". |
Отношение | = | "=" | "#" | "<" | "<=" | ">" | ">=" | IN | IS. |
ОперацияСложения | = | "+" | "-" | OR. |
ОперацияУмножения | = | "*" | "/" | DIV | MOD | "&". |
Предусмотренные операции перечислены в следующих таблицах. Некоторые операции применимы к операндам различных типов, обозначая разные действия. В этих случаях фактическая операция определяется типом операндов. Операнды должны быть совместимыми выражениями для данной операции (см. Прил. A).