Переключательный список - Большая Энциклопедия Нефти и Газа, статья, страница 3
Психиатры утверждают, что психическими заболеваниями страдает каждый четвертый человек. Проверьте трех своих друзей. Если они в порядке, значит - это вы. Законы Мерфи (еще...)

Переключательный список

Cтраница 3


Согласно определению, описание переключателя состоит из описателя switch, за которым следует идентификатор, и переключательного списка, отделенного от левой части знаком присваивания. Переключательный список представляет собой последовательность именующих выражений, разделенных запятыми. Следовательно, в переключательном списке могут быть метки, условные именующие выражения и указатели переключателя.  [31]

При обращении к описанию переключателя с помощью указателя переключателя Р [ i ], где Isgisgn, из его переключательного списка выбирается te именующее выражение, значение которого присваивается указателю переключателя. Выбранное из переключательного списка именующее выражение в свою очередь может оказаться указателем переключателя. Таким образом, вычисление значения указателя переключателя может представлять собой рекурсивный процесс.  [32]

Описание переключателя располагается в начале блока и имеет силу только в рамках этого блока. В случае, когда переключательный список состоит не только из меток, но и из произвольных именующих выражений, указатель переключателя отсылает к одному из именующих выражений списка, которое либо непосредственно определяет метку, либо вновь отсылает к другому именующему выражению.  [33]

Описание переключателя задает значения, соответствующие идентификатору переключателя. Значения задаются как метки, входящие в переключательный список. Значение указателя переключателя, соответствующее заданному значению индексного выражения ( см. разд.  [34]

Семантический смысл описания переключателя заключается в том, что оно определяет все возможные значения соответствующих указателей переключателя - этими значениями являются метки, перечисленные в переключательном списке. Текущим значением указателя переключателя является та метка переключательного списка, порядковый номер которой ( при счете слева направо, начиная с единицы) равен значению индексного выражения этого указателя переключателя.  [35]

Выбрать в найденном описании переключателя элемент переключательного списка, порядковый номер) которого ( считая слева направо) равен значению индексного выражения. Произвести вычисление именующего выражения, содержащегося в выбранном элементе переключательного списка, пользуясь при этом каждой глобальной переменной и элементами состояния внутренней памяти, уровни которых по сравнению с максимальными уровнями одноименных элементов уменьшены на целое число k или равны собственному уровню блока, содержащего описание переключателя.  [36]

Может оказаться, что при вычислении значения индексного выражения его величина превысит число членов соответствующего переключательного списка или станет меньше единицы. Очевидно, указателю переключателя не будет соответствовать ни одно именующее выражение переключательного списка. В соответствии с синтаксисом эталонного языка в этом случае переключатель не производит никакого действия и выполняется следующий за ним оператор.  [37]

Программирование каждого из фигурирующих здесь операторов перехода очевидно, а проверку выполнения каждого условия можно было бы реализовать так же, как это делалось при программировании простейших условных арифметических выражений. Однако такой способ может оказаться довольно громоздким, особенно при большом числе позиций переключательного списка.  [38]

Техника перевода принципиально не отличается от перевода описаний типа, поэтому подробно не рассматривается. Основное отличие состоит в том, что именующие выражения, состоящие более чем из одной метки, должны быть вынесены из переключательного списка и оформлены в виде отдельных подпрограмм.  [39]

По своему виду указатель переключателя напоминает переменную с одним индексом. Выше указывалось, что указатель переключателя является разновидностью простого ИВ. Следовательно, значением указателя переключателя, как всякого ИВ, является метка. Метки, которые могут быть значениями указателя переключателя, выбираются из переключательного списка описания переключателя, идентификатор которого совпадает с идентификатором указателя переключателя. Каждой метке переключательного списка ставится в соответствие целое число, являющееся ее порядковым номером в списке. Метки в списке всегда считаются пронумерованными, начиная с единицы. В каждом конкретно случае значением указателя переключателя является та метка переключательного списка, порядковый номер которой совпадает со значением индексного выражения указателя переключателя.  [40]

БЗР, записываются нули, а значения битов, соответствующих ДА и НЕТ, сохраняются. ДА и НЕТ, сравниваются с теми значениями, которые определяют данную ситуацию и которые заданы в поле КРК2, - в случае совпадения найдена конкретная ситуация, а тем самым определена и нужная позиция переключательного списка.  [41]

В этом примере процесс определения метки значительно упростился за счет того, что переключательный список был составлен только из меток. Все может значительно усложниться, если именующим выражением в переключательном списке будет, например, опять указатель переключателя, но уже другой, в описании которого опять встречаются именующие выражения. Но такие случаи не часты. В конце концов этот рекурсивный процесс определения метки, каким бы сложным он ни был, выполняется по описанным правилам и всегда заканчивается выбором конкретной метки. На практике переключательный список чаще всего состоит из меток.  [42]

По своему виду указатель переключателя напоминает переменную с одним индексом. Выше указывалось, что указатель переключателя является разновидностью простого ИВ. Следовательно, значением указателя переключателя, как всякого ИВ, является метка. Метки, которые могут быть значениями указателя переключателя, выбираются из переключательного списка описания переключателя, идентификатор которого совпадает с идентификатором указателя переключателя. Каждой метке переключательного списка ставится в соответствие целое число, являющееся ее порядковым номером в списке. Метки в списке всегда считаются пронумерованными, начиная с единицы. В каждом конкретно случае значением указателя переключателя является та метка переключательного списка, порядковый номер которой совпадает со значением индексного выражения указателя переключателя.  [43]

По своему виду указатель переключателя напоминает переменную с одним индексом. Выше указывалось, что указатель переключателя является разновидностью простого ИВ. Следовательно, значением указателя переключателя, как всякого ИВ, является метка. Метки, которые могут быть значениями указателя переключателя, выбираются из переключательного списка описания переключателя, идентификатор которого совпадает с идентификатором указателя переключателя. Каждой метке переключательного списка ставится в соответствие целое число, являющееся ее порядковым номером в списке. Метки в списке всегда считаются пронумерованными, начиная с единицы. В каждом конкретно случае значением указателя переключателя является та метка переключательного списка, порядковый номер которой совпадает со значением индексного выражения указателя переключателя.  [44]



Страницы:      1    2    3