![]() |
|
Главная Промышленная автоматика. быть описаны как имеющие тип Boolean (см. разд. 5.1.-Описания типа и разд. 5.4.4. Значения указателей функции). 3.4.5. Операции Отношения принимают значения true в том случае, когда, соответствующее отношение удовлетворяется для входящих в него выражений; в противном случае они принимают значение false. Значения знаков логических операций "1 (не), Л (и), V (или), zd (влечет) и ~ (эквивалентно) даются следующей функциональной таблицей: 61 false false true true 62 false true false true ~\b\ true true false false bl Л Ь2 false false false true bl V b2 false true true true 61 zd 62 true true false true 61=62 true false false true 3.4.6. Старшинство операций Операции в пределах одного выражения выполняются, вообще говоря, в последовательности слева направо с учетом следующих добавочных правил: 3.4.6.1. Согласно синтаксису, данному в разд. 3.4.1, выдерживается следующий порядок старшинства: первый: арифметические выражения согласно разд. 3.3.5. второй: = третий: ~] . . ! четвертый: Л пятый: V - шестой: zd седьмой: s 3.4.6.2. Применение скобок интерпретируется в смы-, еле, данном в разд. 3.3.5.2. 3.5. Именующие выражения 3.5.1. Синтаксис (метка):: = (идентификатор) (целое без знака) (идентификатор переключателя) : : = (идентификатор) (указатель переключателя): : = (идентификатор переключателя) [(индексное выражение)] простое именующее выражение): : = (метка)(указатель переключателя) I ((именующее выражение)) (именующее выражение): : = (простое именующее выражение) (условие) (простое именующее выражение) else (именующее выражение) 3.5.2. Примеры 17 . - • , р<д " " • Выбрать [п - 1] Town [if y<Q then N else iV+1] if Ab< с then 17 else [if та;<0 then 2 else n] 3.5.3. Семантика Именующее выражение, является правилом для получения метки оператора (см. гл. 4. Операторы). Принципы вычисления значения по-прежнему полностью аналогичны правилам, приведенным для арифметических выражений (разд. 3.3.3). В общем случае логические выражения, содержащиеся в условиях, выбирают простое именующее выражение. Если это метка, то желаемый результат уже получен, Указатель переключателя отсылает к соответствующему описанию переключателя (см. разд. 5.3. Описания переключателей) и по фактическому числовому значению своего индексного выражения выбирает одно из именующих выражений, перечисленных в описании переключателя, отсчитывая эти выражения слева направо. Так как выбранное таким образом именующее выражение может в свою очередь оказаться указателем переключателя, то вычисление значения, очевидно, представляет собой рекурсивный процесс. 3.5.4. Индексноевыражение Вычисление значения индексного выражения аналогично такому же вычислению для переменных с индексами (см. разд. 3.1.4.2). Значение указателя переключателя определено только в том случае, когда индексное выражение принимает одно из положительных значений 1, 2, 3, ..... п, где п -число членов в переключательном списке. I 3.5.5. Целые беззнака в качестве меток Целые без знака, используемые в качестве меток, обладают тем свойством, что стоящие впереди «ули не изменяют их значения. Например, 00217 обозначает ту же метку, что и 217. 4. ОПЕРАТОРЫ Единицы действий в языке называются операторами. Обычно они выполняются в той последовательности, в которой написаны. Однако эта последовательность действий может прерываться операторами перехода, которые явно определяют своего преемника, и сокращаться условными операторами, которые могут вызывать пропуск некоторых операторов. Для того чтобы имелась возможность указать фактический порядок следования операторов в процессе работы, операторы могут снабжаться метками. Ввиду того что последовательности Операторов могут группироваться в составные операторы и блоки, определение оператора по необходимости должно быть рекурсивным. Кроме того, поскольку описания, о которых говорится в гл. 5, существенно входят в синтаксическую структуру, синтаксическое определение Операторов должно предполагать, что описания уже определены. 0 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0.0023 |