Принципы языка SCp (Semantic Code programming) (Мет пособие)
.pdf4.2. Описание ядра языка SCP |
71 |
П р и ме р 4 . 2 . 3 . 7
eraseSetStr3
opi
1 _: |
2_: |
3_: |
set2_: |
|
const_: const_: |
f ixed_: |
|
|
|
f_: pos_: |
|
|
|
|
x1 |
x2 |
|
vi |
sv2 |
После успешного выполнения данного оператора (o p i) будет удален sc-узел v3 , который является первым элементом трехэлементной конструкции, соответствующей заданному шаблону и чей второй элемент входит в множество sv2 . Также будут удалены дуги, входящие и выходящие из удаленного узла.
|
|
|
До |
x1 |
x2 |
vi |
sv2 |
|
|
|
v1 |
|
|
|
v2 |
|
|
|
v3 |
|
|
После |
|
x1 |
x2 |
vi |
sv2 |
|
|
||
|
|
|
v1 |
|
|
|
v2 |
Пример 4 . 2 . 3 . 8 |
|
|
|
|
||
|
eraseSetStr3 |
|
|
|
||
opi |
|
|
|
|
|
|
1 _: |
2_: |
|
3_: |
set1 _: set3_: |
||
const_: const_: |
|
f ixed_: |
|
|
|
|
f_: pos_: |
|
f _: |
|
|
|
|
x1 |
x2 |
|
vi |
sv1 |
sv3 |
|
|
|
|
До |
|
|
|
x1 |
x2 |
vi |
|
|
sv2 |
|
|
|
|
v1 |
|
|
|
|
|
|
v2 |
|
|
|
|
|
|
v3 |
|
|
После выполнения данного оператора (o p i) изменений в памяти не произойдет, так как во множествах sv1 и sv3 не содержится трехэлементной sc-конструкции, удовлетворяющей заданному шаблону (vi не является третьим элементом ни одной из конструкций).
|
|
После |
|
x1 |
x2 |
vi |
sv2 |
|
|
||
|
|
|
v1 |
|
|
|
v2 |
72 |
4. Базовый язык программирования для графодинамических ассоциативных машин |
4.2.4. Операторы ассоциативного поиска конструкций языка SC
Семейство scp-операторов ассоциативного поиска sc-конструкций (такие операторы будем также называть search-операторами) разбивается на следующие типы scp-операторов:
операторы ассоциативного поиска произвольных элементов sc-конструкции, состоящей из трёх элементов (searchElStr3-операторы);
операторы ассоциативного поиска произвольных элементов sc-конструкций, удовлетворяющих заданным условиям и состоящих из трех элементов, и формирования из них множества
(searchSetStr3-операторы);
операторы ассоциативного поиска произвольных элементов sc-конструкций, удовлетворяющих заданным условиям и состоящих из трёх элементов, и формирования из них множества, элементами которого остаются только sc-элементы, удовлетворяющие заданным условиям
(selectYStr3-операторы);
операторы ассоциативного описка произвольных элементов sc-конструкций, удовлетворяющих заданным условиям и состоящих из трёх элементов, и формирования из них множества, элементами которого остаются только sc-элементы, не удовлетворяющие заданным условиям
(selectNStr3-операторы).
Множество searchElStr3-операторов в языке SCP будем обозначать ключевым узлом, которому поставим в соответствие идентификатор “searchElStr3 ”. Множество searchSetStr3-операторов в языке SCP будем обозначать ключевым узлом, которому поставим в соответствие идентификатор “searchSetStr3 ”. Множество selectYStr3-операторов в языке SCP будем обозначать ключевым узлом, которому поставим в соответствие идентификатор “selectYStr3 ”. Множество selectNStr3-операторов в языке SCP будем обозначать ключевым узлом, которому поставим в соответствие идентификатор “selectNStr3 ”. Семейство типов search-операторов в языке SCP обозначается ключевым узлом с идентификатором “search”. Соотношение между указанными ключевыми узлами задается следующей sc-конструкцией:
search
searchE lStr3 searchSetStr3 selectYStr3 selectNStr3
Перейдем к более подробному рассмотрению указанных выше типов scp-операторов.
Операторы ассоциативного поиска произвольных элементов sc-конструкции, состоящей из трёх элементов ( searchElStr3-операторы, операторы типа searchElStr3 )
Операторы данного типа осуществляют ассоциативный поиск произвольных элементов sc-конструкции, состоящей из трёх элементов.
Запись scp-операторов типа searchElStr3 на языке SCs имеет следующий вид:
запись searchElStr3 –оператора :: searchElStr3
идентификатор searchElStr3-оператора
( fixed _ : | assign_ :
/* данные атрибуты уточняют, известно (вычислено) ли значение операнда или необходимо найти sc-элемент и установить значение операнда данного
оператора */
4.2. Описание ядра языка SCP |
73 |
[ |
( |
const_ : | v a r_ : |
| m eta _ : |
) |
] |
) |
|
1 _ : операнд x1 , |
|
|
|
|
|||
( f ix e d _ : | assign_ : |
|
|
|
|
|||
[ |
( |
pos_ : |
| neg _ : | fuz_ : ) |
] |
|
|
|
[ |
( |
const_ : | var_ : |
| meta _ : |
) |
] |
) |
|
2 _ : операнд x2 , |
|
|
|
|
|||
( |
fixed _ : | assign_ : |
|
|
|
|
||
( |
[ |
node _ : |
| elem _ : |
| arc _ : |
] |
|
|
[ |
( |
pos_ : |
| neg _ : | fuz_ : ) |
] |
) |
|
|
[ |
( |
const_ : | var_ : |
| meta _ : |
) |
] |
) |
|
3 _ : |
операнд x3 , |
|
|
|
|
then_ : идентификатор scp-оператора ;
else_ : идентификатор scp-оператора ;
/* данные атрибуты уточняют тип искомого sc-элемента по признаку "константа – переменная –
метапеременная" */
/* операндом является scp-переменная,
если указан атрибут assign_ , значением которой становится найденный
sc-элемент. Если указан атрибут f ix e d _ , то операндом может быть и scp-переменная, и scp-константа */
/* данные атрибуты уточняют, известно (вычислено) ли значение операнда или необходимо найти sc-элемент и установить значение операнда данного
оператора */
/* данные атрибуты уточняют тип искомой sc-дуги по признаку "позитивная
дуга – негативная дуга – нечеткая дуга" */
/* данные атрибуты уточняют тип искомого sc-элемента по признаку "константа – переменная –
метапеременная" */
/* операндом является scp-переменная,
если указан атрибут assign_ , значением которой становится найденный sc-элемент. Если указан атрибут fixed _ , то операндом может быть и
scp-переменная и scp-константа */
/* данные атрибуты уточняют, известно (вычислено) ли значение операнда или необходимо найти sc-элемент и установить его значением операнда
данного оператора */
/* данные атрибуты уточняют тип искомого sc-элемента по признаку "узел –
элемент неопределенного типа – дуга" */
/* данные атрибуты уточняют тип искомого sc-дуги по признаку "позитивная
дуга – негативная дуга – нечеткая дуга" */
/* данные атрибуты уточняют тип искомого sc-элемента по признаку "константа – переменная –
метапеременная" */
/* операндом |
является scp-переменная, |
||
если |
указан |
атрибут |
assign_ , |
значением, |
которой |
становится |
найденный sc-элемент. Если указан
атрибут |
fixed _ , |
то операндом |
может |
быть |
и |
scp-переменная, |
и |
scp-константа */ |
|
|
/* здесь указывается идентификатор того scp-оператора, которому передается управление после реализации данного scp-оператора и нахождения требуемой
sc-конструкции */
/* здесь указывается идентификатор того scp-оператора, которому передается управление после реализации данного scp-оператора и ненахождения требуемой
sc-конструкции */
74 |
4. Базовый язык программирования для графодинамических ассоциативных машин |
Результаты выполнения операторов типа searchElStr3 :
Если первый операнд помечен атрибутом assign_ , то будет искаться sc-узел. Тип искомого sc-узла уточняется следующими атрибутами:
const_ - ищется константный sc-узел;
v a r_ - ищется переменный sc-узел;
m eta _ - ищется метапеременный sc-узел.
Если второй операнд помечен атрибутом assign_ , то будет искаться sc-дуга. Тип искомой sc-дуги уточняется следующими атрибутами:
p o s_ - ищется позитивная sc-дуга;
neg _ - ищется негативная sc-дуга;
fuz_ - ищется нечеткая sc-дуга;
const_, var_ , meta_ – ищется соответственно константная, переменная или метапеременная sc-дуга.
Если искомая sc-дуга найдена и указан атрибут f _ , то эта sc-дуга удаляется.
Если третий элемент помечен атрибутом assign_ , то будет искаться sc-элемент, тип которого уточняется следующими атрибутами:
node _ - ищется sc-узел;
elem _ - ищется sc-элемент неопределенного типа;
arc _ - ищется sc-дуга. В этом случае для уточнения типа могут дополнительно использоваться атрибуты pos_ , neg _ , fuz_ (семантику смотри выше);
const_, var_ , meta_ – ищется соответственно константный, переменный или метапеременный sc-элемент.
П р и м е ч а н и е . Хотя бы один операнд оператора должен быть помечен атрибутом fixed _ . Если при поиске будут найдены несколько подходящих sc-конструкций, то выберется одна из них.
Модификации scp-операторов типа searchElStr3 задаются комбинацией атрибутов, которыми помечен операнд. Приведем некоторые модификаций searchElStr3-оператора.
П р и ме р 4 . 2 . 4 . 1
searcheE lStr3
opi
1 _: |
|
2_: |
3_: |
f ixed_: |
assign_: |
fixed_: |
|
|
|
pos_: |
|
|
|
const_: |
|
x1 |
x2 |
x3 |
|
|
В результате успешного выполнения данного оператора (opi) будет найдена константная позитивная sc-дуга (gi), соединяющая sc-узел, являющийся значением операнда x 1 , и sc-элемент (ei), являющийся значением операнда x 3 . Также будет сгенерирована дуга, связывающая операнд x 2 с sc-элементом gi, и дуга принадлежности, связывающая указанную выше дугу со знаком соответствующего бинарного отношения (ri). Генерация этой дуги означает, что у операнда x 2 сформировалось (вычислилось) значение:
x1 x2 x3
ri
gi
ei
4.2. Описание ядра языка SCP |
75 |
П р и ме р 4 . 2 . 4 . 2
genStr3 opi
1 _: |
2_: |
3_: |
f ixed_: assign_: assign_: pos_: node_: const_: const_:
x1 |
x2 |
x3 |
|
В результате успешного выполнения данного оператора (o p i) будут найдены константный sc-узел (vi) и константная позитивная sc-дуга (g i), соединяющая его с sc-узлом, являющимся значением операнда x 1 . Также будут сгенерированы дуга, связывающая операнд x 2 с sc-элементом g i, и дуга, связывающая операнд x 3 с sc-элементом vi, а также дуги принадлежности, связывающие указанные выше дуги со знаком соответствующего бинарного отношения (ri). Генерация этих дуг означает, что у операндов x 2 и x 3 сформировалось (вычислилось) значение:
x1 |
x2 |
x3 |
|
|
ri
gi
vi
Пример 4 . 2 . 4 . 3
searchE lStr3 opi
1 _: |
2_: |
3_: |
assign_: assign_: |
f ixed_: |
|
const_: |
const_: |
|
|
pos_: |
|
x1 |
x2 |
x3 |
|
В результате успешного выполнения данного оператора (opi) будут найдены константный sc-узел (vi) и константная позитивная sc-дуга (gi), соединяющая его с sc-элементом (ei), являющимся значением операнда x 3 . Также будут сгенерированы дуга, связывающая операнд x 2 с sc-элементом gi, и дуга, связывающая операнд x 1 с sc-элементом vi, а также дуги принадлежности, связывающие указанные выше дуги со знаком соответствующего бинарного отношения (ri). Генерация этих дуг означает, что у операндов x 1 и x 2 сформировалось (вычислилось) значение
x1 |
x2 |
x3 |
ri |
|
|
|
|
vi |
gi |
ei |
|
76 4. Базовый язык программирования для графодинамических ассоциативных машин
П р и ме р 4 . 2 . 4 . 4
searchE lStr3 opi
1 _: |
|
2_: |
|
3_: |
f ixed_: |
assign_: |
assign_: |
||
|
|
var_: const_: |
||
|
|
neg_: |
|
elem_: |
x1 |
x2 |
x3 |
||
|
|
В результате успешного выполнения данного оператора (o p i) будут найдены константный sc-элемент неопределенного типа (ei) и переменная негативная sc-дуга (g i), соединяющая его с sc-узлом, являющимся значением операнда x 1 . Также будут сгенерированы дуга, связывающая операнд x 2 с sc-элементом g i, и дуга, связывающая операнд x 3 с sc-элементом ei, а также дуги принадлежности, связывающие указанные выше дуги со знаком соответствующего бинарного отношения (ri). Генерация этих дуг означает, что у операндов x 2 и x 3 сформировалось (вычислилось) значение:
x1 |
x2 |
x3 |
|
|
ri
gi
ei
Операторы ассоциативного поиска произвольных элементов sc-конструкций, удовлетворяющих заданным условиям и состоящих из трех элементов, и формирования из них множества ( searchSetStr3-операторы, операторы типа searchSetStr3 )
Операторы данного типа осуществляют ассоциативный поиск произвольных элементов sc-конструкций, удовлетворяющих заданным условиям и состоящих из трех элементов, и формирования из них множества.
Запись scp-операторов типа searchSetStr3 на языке SCs имеет следующий вид:
запись searchSetStr3 –оператора :: searchSetStr3
идентификатор searchSetStr3-оператора
( fixed _ : |
[ ( const_ : | var_ : | meta _ : ) ] )
1 _ : операнд x1 ,
( fixed _ : |
/* данный атрибут уточняет, известно (вычислено) ли значение операнда */
/* данные атрибуты уточняют тип искомого sc-узла по признаку "константа –
переменная – метапеременная" */
/* операндом является программная переменная, или если указан атрибут fixed _ , то операндом может быть и
константа программы */
/* данный атрибут уточняет, известно (вычислено) ли значение операнда */
4.2. Описание ядра языка SCP |
77 |
[ ( p o s_ : | neg _ : | f uz_ : ) ] |
|
|
|||||
[ |
( |
const_ : | v a r_ : |
| m eta _ : |
) |
] |
) |
|
2 _ : операнд x2 , |
|
|
|
|
|||
( f ix e d _ : | |
|
|
|
|
|||
( |
[ |
node _ : |
| elem _ : |
| arc _ : |
] |
|
|
[ |
( |
pos_ : |
| neg _ : | fuz_ : ) |
] |
) |
|
|
[ |
( |
const_ : | var_ : |
| meta _ : |
) |
] |
) |
|
3 _ : операнд x3 , |
|
|
|
|
|||
( |
fixed _ : | assign_ : |
) |
|
|
|
set1 _ : операнд xs1 ,
( fixed _ : | assign_ : )
set2 _ : операнд xs2 ,
( fixed _ : | assign_ : )
/* данные атрибуты уточняют тип искомой sc-дуги по признаку "позитивная дуга –
негативная дуга – нечеткая дуга" */
/* данные атрибуты уточняют тип искомого sc-элемента по признаку "константа –
переменная – метапеременная" */
/* операндом |
является |
программная |
|
переменная, |
или если |
указан |
атрибут |
fixed _ , то |
операндом |
может |
быть и |
константа программы */
/* данный атрибут уточняет, известно (вычислено) ли значение операнда */
/* данные атрибуты уточняют тип искомого sc-элемента по признаку "узел – элемент
неопределенного типа – дуга" */
/* данные атрибуты уточняют тип искомой sc-дуги по признаку "позитивная дуга –
негативная дуга – нечеткая дуга" */
/* данные атрибуты уточняют тип искомого sc-элемента по признаку "константа –
переменная – метапеременная" */
/* операндом является программная переменная, или если указан атрибут fixed _ , то операндом может быть и
константа программы */
/* данные атрибуты уточняют, известно (вычислено) ли значение операнда или необходимо сгенерировать sc-элемент и установить значение операнда данного
оператора */
/* операндом |
является |
программная |
переменная, |
или если |
указан атрибут |
fixed _ , то операндом может быть и константа программы. Значением данного операнда становится множество “первых”
элементов найденных sc-конструкций */
/* данные атрибуты уточняют, известно (вычислено) ли значение операнда или необходимо сгенерировать sc-элемент и установить его значением операнда данного
оператора */
/* операндом |
является |
программная |
переменная, |
или если |
указан атрибут |
fixed _ , то операндом может быть и константа программы. Значением данного операнда становится множество “вторых”
элементов найденных sc-конструкций */
/* данные атрибуты уточняют, известно (вычислено) ли значение операнда или необходимо сгенерировать sc-элемент и установить значение операнда данного
оператора */
78 |
4. Базовый язык программирования для графодинамических ассоциативных машин |
|||
set3 _ : |
операнд xs3 , |
/* операндом |
является |
программная |
|
|
переменная, |
или если |
указан атрибут |
then_ : идентификатор scp-оператора ;
else_ : идентификатор scp-оператора ;
Результаты выполнения операторов типа sea rchSetStr3 :
fix ed _ , то операндом может быть и константа программы. Значением данного операнда становится множество “третьих”
элементов найденных sc-конструкций */
/* здесь указывается идентификатор того scp-оператора, которому передается управление после реализации данного scp-оператора и нахождения требуемой
sc-конструкции */
/* здесь указывается идентификатор того scp-оператора, которому передается управление после реализации данного scp-оператора и ненахождения требуемой
sc-конструкции */
Если первый операнд не помечен атрибутом f ix e d _ , то будет искаться sc-узел. Тип искомого sc-узла уточняется следующими атрибутами:
const_ - ищется константный sc-узел;
v a r_ - ищется переменный sc-узел;
m eta _ - ищется метапеременный sc-узел.
Если второй операнд не помечен атрибутом f ix e d _ , то будет искаться sc-дуга. Тип искомой sc-дуги уточняется следующими атрибутами:
pos_ - ищется позитивная sc-дуга;
neg _ - ищется негативная sc-дуга;
fuz_ - ищется нечеткая sc-дуга;
const_, var_ , meta_ – ищется соответственно константная, переменная или метапеременная sc-дуга.
Если третий элемент не помечен атрибутом fixed _ , то будет искаться sc-элемент, тип которого уточняется следующими атрибутами:
node _ - ищется sc-узел;
elem _ - ищется sc-элемент неопределенного типа;
arc _ - ищется sc-дуга. В этом случае для уточнения типа могут дополнительно использоваться атрибуты pos_ , neg _ , fuz_ (семантику смотри выше);
const_, var_ , meta_ – ищется соответственно константный, переменный или метапеременный sc-элемент.
Пр и м е ч а н и е 1 . Хотя бы один операнд из первых трёх операндов должен быть помечен атрибутом fixed _ .
Пр и м е ч а н и е 2 . Последние три операнда ( xs1 , xs2 и xs3 ) задают множества соответственно “первых”,
“вторых” и “третьих” элементов sc-конструкций. Если указан атрибут assign_ , то генерируется новое множество, а если указан атрибут fixed _ , то множество дополняется найденными sc-конструкциями.
Пр и м е ч а н и е 3 . Операнды xs1 , xs2 и xs3 могут быть scp-переменными и scp-константами. Должен присутствовать хотя бы один из операндов xs1 , xs2 и xs3 .
Пр и м е ч а н и е 4 . Операнды x s 1 , x s 2 и x s 3 могут совпадать.
Модификации scp-операторов типа searchSetStr3 задаются комбинацией атрибутов, которыми помечен операнд. Приведем некоторые модификации searchSetStr3-оператора.
4.2. Описание ядра языка SCP |
79 |
П р и ме р 4 . 2 . 4 . 5
searchSetStr3
opi |
|
|
|
|
1 _: |
2_: |
3_: |
set2_: |
|
f ixed_: |
pos_: fixed_: |
f ixed_: |
||
const_: |
|
|
|
|
x1 |
x2 |
x3 |
xs1 |
|
|
До |
|
|
|
x1 |
x3 |
ri |
|
|
|
|
|
|
|
|
vi |
|
xs1 |
|
g1 |
|
|
|
|
g2 |
|
|
|
|
g3 |
|
|
|
|
Пример 4 . 2 . 4 . 6 |
|
|
|
|
searchSetStr3 |
|
|
||
opi |
|
|
|
|
1 _: |
2_: |
3_: |
|
set2_: |
fixed_: |
pos_: |
node_: |
|
set3_: |
assign_: |
||||
const_: |
const_: |
|
|
|
x1 |
x2 |
x3 |
xs1 |
|
|
Д о |
|
|
|
x1 |
vi |
xs1 |
|
|
g1 |
|
|
|
|
g2 |
|
|
|
|
g3 |
|
|
|
В результате успешного выполнения данного оператора (o p i) будет найдена константная позитивная sc-дуга (v1 ) и константная позитивная sc-дуга (g i), соединяющая его с sc-элементом (ei), являющимся значением операнда x 3 . Также будут сгенерированы дуга, связывающая операнд x 2 с sc-элементом g i, и дуга, связывающая операнд x 1 с sc-элементом vi, а также дуги принадлежности, связывающие указанные выше дуги со знаком соответствующего бинарного отношения (ri). Генерация этих дуг означает, что у операндов x 1 и x 2 сформировалось (вычислилось) значение:
После
x1 |
x3 |
|
ri |
vi |
xs1 |
g1 |
|
g2
g3
Врезультате успешного выполнения данного оператора (opi) будут найдены константный sc-узел (vi) и константная позитивная sc-дуга (gi), соединяющая его с sc-элементом (ei), являющимся значением операнда x 3 . Также будут сгенерированы дуга, связывающая операнд x 2 с sc-элементом gi, и дуга, связывающая операнд x 1 с sc-элементом vi, а также дуги принадлежности, связывающие указанные выше дуги со знаком
соответствующего бинарного отношения (ri). Генерация этих дуг означает, что у операндов x 1 и x 2 сформировалось (вычислилось) значение:
|
После |
x1 |
vi xs1 |
g1 |
ri |
|
|
g2 |
vj |
|
|
g3 |
|
80 |
4. Базовый язык программирования для графодинамических ассоциативных машин |
||||
П р и ме р 4 . 2 . 4 . 7 |
|
|
|
|
|
|
|
searchSetStr3 |
|
|
|
|
opi |
|
|
|
|
|
1 _: |
2_: |
3_: |
set1 _: |
set2_: |
|
const_: const_: |
fixed_: |
fixed_: assign_: |
||
|
|
pos_: |
|
|
|
|
x1 |
x2 |
x3 |
xs1 |
xs2 |
В результате успешного выполнения данного оператора (o p i) будут найдены константный sc-узел (vi) и константная позитивная sc-дуга (g i), соединяющая его с sc-элементом (ei), являющимся значением операнда x 3 . Также будут сгенерированы дуга, связывающая операнд x 2 с sc-элементом g i, и дуга, связывающая операнд x 1 с sc-элементом vi, а также дуги принадлежности, связывающие указанные выше дуги со знаком соответствующего бинарного отношения (ri). Генерация этих дуг означает, что у операндов x 1 и x 2 сформировалось (вычислилось) значение:
|
|
До |
|
|
|
|
После |
|
|
|
|
|
|
|
|
|
ri |
|
|
|
|
xs2 |
v1 |
v2 |
v3 |
v4 |
|
vi |
|
|
|
|
|
|
|
|
|
|
v1 |
v2 |
v3 |
v4 |
|
xs1 |
|
|
|
|
xs2 |
|
||||
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
x3 |
|
|
|
|
|
xs1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x3 |
|
|
|
|
Операторы ассоциативного поиска произвольных элементов, удовлетворяющих заданным условиям, и формирования из них множества ( selectYStr3-операторы, операторы типа selectYStr3 )
Операторы данного типа осуществляют ассоциативный поиск произвольных элементов sc-конструкций, удовлетворяющих заданным условиям и состоящих из трех элементов, и формирования из них множества, элементами которого остаются только sc-элементы, удовлетворяющие заданным условиям.
Запись scp-операторов типа selectYStr3 на языке SCs имеет следующий вид:
запись selectYStr3 –оператора |
:: |
|
|
|
|
|
|||
|
|
|||
selectYStr3 |
|
|
|
|
идентификатор selectYStr3-оператора |
||||
( fixed _ : | |
|
|
|
|
[ ( |
const_ : | var_ : | meta _ : ) ] ) |
|||
1 _ : |
операнд x1 , |
|
|
|
/* данный атрибут уточняет, известно (вычислено) ли значение операнда */
/* данные атрибуты уточняют тип искомого sc-узла по признаку "константа –
переменная – метапеременная" */
/* операндом является программная переменная, или если указан атрибут fixed _ , то операндом может быть и
константа программы */