5. Выражения
35
5. Выражения
июбое выражение представляет собою правило вычислений, при выполнении
которых выражению присваивается некоторое значение. Выражение состоит из
операций и операндов. Значение выражения зависит от значений констант, границ типов,
значений переменных, операций и функций, включенных в выражение. Тип полученного
результата зависит от типов операндов и операций, из которых состоит выражение.
Этот тип однозначно определен и известен еще в процессе компиляции.
Expression =
(SimpleExpression [relationOp
  SimpleExpression]) |
ExpTypeCast.
SimpleExpression =
['+' | '-'] Term {AdditiveOp Term}.
Term =
Factor {MultiplicativeOp Factor}.
Factor =
Constant       |
VariableRef    |
SetConstructor |
FunctionCall   |
'not' Factor   |
'(' Expression ')'.
5.1. Операнды
Операндами могут быть константы, переменные, обращения к функциям и
конструкторы множеств.
Обращение к функции:
FunctionCall =
QualIdent [ ActualParamList ].
Не рекомендуется использовать функции, вызывающие побочные эффекты,
потому что операнды могут быть вычислены в порядке, отличающемся от заданного
текстом программы.
Использование переменных, которым не присвоено значение до начала
вычисления выражения, является ошибкой. Если она не приводит к другим ошибкам, ее
нельзя регистрировать ни в процессе компиляции, ни в процессе выполнения
программы. Такая ошибка чаще всего приводит к получению неопределенного
результата.
При вычислении арифметических выражений возможно возникновление ошибки.
Речь идет о переполнении. Оно возникает, когда результат арифметической операции
не принадлежит диапазону допустимых значений. Когда тип результата - целый, такая
ошибка не всегда может быть регистрирована.
5.2. Операции
Операции в Pascal-е можно разделит в три группы: мультипликативные,
аддитивные и операции отношений.
relationOp =
'=' | '<>' | '<' | '<=' | '>' | '>=' | 'in'.
AdditiveOp =
'+' | '-' | 'or' | 'xor' | '|'.
<<  <  GO  >  >>

Вернуться к началу сайта