Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BorlandPascal.doc
Скачиваний:
54
Добавлен:
17.03.2015
Размер:
2.83 Mб
Скачать

Синтаксис выражений

Правила, определяющие порядок выполнения операций, вытекают

из синтаксиса выражений, которые строятся из множителей, термов и

простых выражений.

Множитель имеет следующий синтаксис:

----------------

множитель ---T-------------->¦ ссылка на +----------->

¦ ¦ переменную ¦ ^

¦ L---------------- ¦

¦ ---------- ¦

+---->¦константа+----------------------+

¦ ¦без знака¦ ¦

¦ L---------- ¦

¦ ---- ---------- ---- ¦

+---->¦ ( +---->¦выражение¦--->¦ ) +---+

¦ L---- L---------- L---- ¦

¦ ---- ---------- ¦

+---->¦not+---->¦множитель+------------+

¦ L---- L---------- ¦

¦ ----- ---------- ¦

+---->¦знак+--->¦множитель+------------+

¦ L----- L---------- ¦

¦ ---------- ¦

+---->¦ вызов +----------------------+

¦ ¦ функции ¦ ¦

¦ L---------- ¦

¦ ------------ ¦

+---->¦конструктор+--------------------+

¦ ¦ множества ¦ ¦

¦ L------------ ¦

¦ ------------ ¦

+---->¦ адресный +--------------------+

¦ ¦ множитель ¦ ¦

¦ L------------ ¦

¦ --------------- ¦

L---->¦ приведение +------------------

¦типа значения ¦

L---------------

Вызов функции активизирует функцию и представляет собой зна-

чения, возвращаемые функцией (см. далее в этой главе раздел "Вы-

зовы функций"). Описатель множества представляет собой значение

множественного типа (см. раздел, озаглавленный, как "Описание

множеств"). Приведение типа изменяет тип значения (см. "Приведе-

ние типа").

Адресный множитель вычисляет адрес переменной, процедуры,

функции или метода. См. раздел "Операция @".

Беззнаковая константа имеет следующий синтаксис:

----------

константа без знака ---T---->¦ число +------------->

¦ ¦без знака¦ ^

¦ L---------- ¦

¦ ----------- ¦

+---->¦символьная+--------+

¦ ¦ строка ¦ ¦

¦ L----------- ¦

¦ -------------- ¦

+---->¦идентификатор+-----+

¦ ¦ константы ¦ ¦

¦ L-------------- ¦

¦ ---- ¦

L---->¦nil+----------------

L----

Некоторые примеры множителей могут включать в себя:

Х { ссылка на переменную }

@Х { указатель на переменную }

15 { константа без знака }

(Х+Y+Z) { подвыражение }

SIN(Х/2) { вызов функции }

['0..''9','А'..'Z'] { описатель множества }

not Done { отрицание булевской переменной }

сhar(Digit+48) { назначение типа }

Термы используются в операциях умножения на множитель:

----------

терм -------->¦множитель+---T------>

^ L---------- ¦

¦ ---- ¦

+-----+ * ¦<--------+

¦ L---- ¦

¦ ---- ¦

+-----+ / ¦<--------+

¦ L---- ¦

¦ ---- ¦

+-----+div¦<--------¦

¦ L---- ¦

¦ ---- ¦

+-----+mod¦<--------¦

¦ L---- ¦

¦ ---- ¦

+-----+and¦<--------¦

¦ L---- ¦

¦ ---- ¦

+-----+shl¦<--------¦

¦ L---- ¦

¦ ---- ¦

L-----+shr¦<---------

L----

Приведем несколько примеров термов:

Х * Y

Z / (1 - Z)

Done or Error

(Х <= Y) and (Y < Z)

В простых выражениях к термам применяются операции сложения

и присваивания знака:

--------

простое выражение -------->¦ терм +---T---->

^ L-------- ¦

¦ ---- ¦

+-----+ + ¦<------+

¦ L---- ¦

¦ ---- ¦

+-----+ - ¦<------+

¦ L---- ¦

¦ ---- ¦

+-----+ or¦<------¦

¦ L---- ¦

¦ ---- ¦

L-----+xor¦<-------

L----

Приведем несколько примеров простых выражений:

Х + Y

Hue1 + Hue2

I * J + 1

В выражениях к простым выражениям применяются операции отно-

шения.

----------

выражение ---->¦ простое +--T------------------------------->

¦выражение¦ ¦ ^

L---------- ¦ ---- ---------- ¦

+->¦ < +------>¦ простое +---

¦ L---- ^ ¦выражение¦

¦ ---- ¦ L----------

+->¦<= +--+

¦ L---- ¦

¦ ---- ¦

+->¦ > +--+

¦ L---- ¦

¦ ---- ¦

+->¦>= +--+

¦ L---- ¦

¦ ---- ¦

+->¦ = +--+

¦ L---- ¦

¦ ---- ¦

+->¦<> +--+

¦ L---- ¦

¦ ---- ¦

L->¦in +---

L----

Приведем некоторые примеры выражений:

Х = 1.5

Done <> Error

(I < J) = (J < К)

C in Huel

Соседние файлы в предмете Программирование на Pascal