Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекція 3. Основні елементи мови Caché Object Script-рус.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
55.42 Кб
Скачать

Выражение - совокупность простых выражений, соединенные унарными или бинарными операндами, что дает конечное значение.

Обработка выражений играет в Cache ObjectScript совершенно особую роль.

Выражение — это синтаксический элемент Cache ObjectScript, дающий значение. Примером выражения может быть умножение результата, возвращаемого пользовательской функцией, на значение глобальной переменной — например, $$Fun(a) * ^G(1, 2).

Выражение является совокупностью так называемых простейших выражений и унарных либо бинарных операторов. Под простейшим выражением понимается элементарное выражение, которое более невозможно разбить на несколько выражений. Взятые в скобки выражения также представляют собой простейшие выражения.

Таблица 4 описывает встречающиеся в Cache ObjectScript простейшие выражения.

Таблица 4. Простейшие выражения, определенные в Cache ObjectScript.

Простейшее выражение

Пояснение

Пример

<glvn>

локальная или глобальная переменная

^G(1, 2)

<svn>

системная переменная

$Horolog

<function>

функция

$Length(a)

<exfunc>

пользовательская функция

$$Х(1)

<exvar>

пользовательская переменная-функция

$$Н

<numlit>

числовой литерал

1.07

<strlit>

строковый литерал

"abc"

<ssvn>

структурированная системная переменная

^$Routine(name, "DAT")

(<expr>)

выражение в скобках

($$F1(x1)_$$F2(x2))

Правила, по которым обрабатываются выражения, достаточно просты и недвусмысленны. Они включают в себя три следующих этапа:

  1. Вычисление левого простейшего выражения.

  2. Вычисление правого простейшего выражения и проведение операции.

  3. Движение направо и повторение этапа 2 в случае необходимости. Это означает ни что иное, как отсутствие обычно имеющегося приоритета отдельных операторов. Все бинарные операторы выполняются последовательно слева направо. Следовательно, 3 + 4 * 5 дает в результате 35; путем соответствующего заключения в скобки получают математически корректный результат 3 + (4 * 5) равный 23.

Унарные операторы (это знаки «+» и «-», и логическое отрицание «'») обрабатываются, наоборот, справа налево. Это означает, что сначала вычисляется простейшее выражение (например, функция) и далее выполняется унарная операция.

То, что в первый момент кажется помехой, вместе с неявной интерпретацией типов (см. также следующий раздел) оказывается мощным инструментом, на котором с наслаждением исполняет свою партию опытный программист Cache. Так, например, выражение «j # 4 = 0 + 28» отображает количество дней в феврале. При этом переменная j представляет год между 1901 и 2099. При делении на четыре високосный год делится без остатка, сравнение с 0 дает в результате (логическую) 1, которая суммируется с числом 28.

За исключением трех случаев, коротко описанных далее, выражения могут содержать произвольное количество пробелов.

Set¬sum = х + у + z, mue = sum/3

  • Символ «¬» представляет здесь ровно один пробел, который должен разделять команду и ее первый аргумент. Нужно подчеркнуть, что команда без аргументов всегда должна отделяться от следующей минимум двумя пробелами (или быть последней в строке).

  • Имена переменных и программ, включая метки, не могут содержать пробелы.

  • Числовые константы также не могут содержать пробелов.