Редактор ограниченийСинтаксис операторов ограничений Синтаксис операторов ограничений - это подмножество Синтаксиса инструментов LN. Операторы ограничений могут быть составлены при помощи следующих инструкций. Арифметические операторы:
Логические операторы:
Операторы отношения:
Операторы доменов A равно {a1,a2,a3-a4,..} означает: (A=a1 or A=a2 or A >= a3 и A <= a4 и т.д.). Синтаксис операторов доменов заключается в использовании аббревиатур для логических операторов с учетом домена переменной. Приоритет операторов Арифметические операторы имеют более высокий приоритет, чем операторы связи. Операторы связи имеют более высокий приоритет, чем логические операторы. Последовательность приоритетов для арифметических операторов: * / \ + - Последовательность приоритетов для логических операторов: not, and, or Круглые скобки ('()') используются для изменения последовательности приоритетов для арифметических и логических операторов. Пример 3 + 4 * 5 = 23 (3 + 4) * 5 = 35 Булевы операторы Булевы операторы принимают значение истинный-ложный (1 или 0). Они применяются в ограничениях, в особенности в операторах с использованием условий. Пример If not e then ' означает: если e = ложный, то ' или если e = 0, то ' Конструкции if-then-else В ограничениях могут быть использованы длинные конструкции типа if-then-else. Разрешена вложенность операторов. Пример Пример If выражение 1 then выражение 2 else выражение 3 endif Конструкция if-then-else всегда оканчивается оператором endif. Оператор else не является обязательным. Операторы if, else и endif всегда начинаются с новой строки. Выражения условий могут быть записаны в несколько строк. Ограничение подтверждения можно задать без операторов if-then-else; это ограничение должно начинаться так: c:. Ограничения могут сопровождаться комментариями, отделенными символом |. В процессе конфигурации можно сгенерировать сообщения при помощи переменных сообщений (до 80x25 строк текста). Переменные ограничений В операторах ограничений могут быть использованы как глобальные, так и локальные переменные. Глобальные переменные - это свойства продукта и пользовательские переменные ограничений, определенные как глобальные. Локальными являются предопределенные переменные конфигуратора продукта, такие, как input, display, length, width и т.д. Глобальные переменные сохраняют свои значения в течение всего процесса конфигурации, если только это значение не изменяют. Переменные ограничений имеют следующие типы:
Пользовательские переменные ограничений должны всегда находиться в верхней части ограничений. Все локальные переменные инициализируются до выполнения ограничений: буквенно-цифровые переменные очищаются, численные получают нулевые значения. Глобальные переменные input и validating инициализируются значением "истинный" (true). Использование переменных ограничений Свойства продукта в операторах ограничений задаются при помощи открывающихся и закрывающихся квадратных скобок ([......]). Прочие переменные напрямую используются в операторах. Буквенно-цифровые переменные (строковые ряды) помечаются в соответствии с записью: startposition[;length]). Пример [color] = "красный" Проверка правильности = true Значения переменных могут быть буквенно-цифровыми или числовыми. Буквенно-цифровые записываются в кавычках ("...."). Численные значения вводятся напрямую. Десятичным разделителем служит точка ('.'). Пример механизм(1;2) = "A5" volume = 28,673 Константы true/false используются в булевых операторах. Арифметические функции
Тригометрические функции.
Логарифмические функции
Строковые функции
Функции даты
Пример date(1995,06,01) = 728445
| |||