На этом шаге мы рассмотрим порядок выполения операций.
Последовательность выполнения операций определяется тремя факторами:
По приоритету все операции делятся на четыре группы. Операции первого (высшего) приоритета выполняются в первую очередь. Операции четвертого (низшего) приоритета выполняются в последнюю очередь. Операции с равным приоритетом выполняются слева направо, но иногда компилятор для генерации более оптимального кода может переупорядочить операнды. Скобки служат для изменения обычного порядка обработки операций. Подвыражение, заключенное в скобки, сначала вычисляется как отдельный операнд, а затем его результат используется для выполнения операций, обрамляющих скобки. В Object Pascal приоритет операций отражен непосредственно в синтаксисе языка.
Приоритет | Операции | Категория операций |
---|---|---|
Первый (высший) | + - not @ | Унарные операции |
Второй | * / div mod and as shl shr | Бинарные операции типа умножения |
Третий | + - xor or | Бинарные операции типа сложения |
Четвертый (низший) | = <> < > <= >= in is | Бинарные операции отношения |
Примеры сложных выражений.
А * (((X - Y / Z) * 3 + 5) / (В + С) - D * Е) - 14 (А <> В) and ((I < J) or (J < К)) and (С in D)
На следующем шаге мы дадим классификацию операций.