Previous Page  11 / 17 Next Page
Information
Show Menu
Previous Page 11 / 17 Next Page
Page Background

x

в ЦП не могут иметь дублей в графе в силу построения, по-

скольку такая вершина добавляется для каждой вершины

x

i

X

S

,

записывающей некоторое новое значение в вершину

y

j

Y

\

Y

S

.

Шаг 14. Для каждой вершины

x

i

X

S

,

если

y

j

F

1

2

x

i

,

y

j

Y

\

Y

S

и

x

k

F

1

3

y

j

,

x

k

/

X

S

, k < i

, то

X

X

∪ {

x

}

. При этом

F

1

x

i

1

F

1

x

i

1

∪ {

x

}

,

F

1

1

x

i

F

1

1

x

i

∪ {

x

}

и

F

2

x

y

j

, т.е. в

данном действии происходит вставка в граф

G

(2)

A

вершины-оператора

получения данных примитивного типа от ЦП.

Шаг 15. У любой вершины

x

i

X

C

, являющейся объединенным

блоком вычисления условия и ветвления, заменяем вершину ветвления

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

x

i

X

?

Λ

, то

x

i

x

Λi

.

Шаг 16. Для каждой вершины ветвления потоков управления

x

i

X

Λ

добавляем новую вершину-оператор получения данных от ЦП

x

:

X

X

∪{

x

}

,

F

1

x

i

1

F

1

x

i

1

∪{

x

}

,

F

1

1

x

i

F

1

1

x

i

∪{

x

}

.

В граф добавляем вершину данных примитивного типа, хранящую

информацию о результате вычисления условия ЦП в вершине тега

x

i

Y

Y

∪ {

y

tg

}

,

F

1

2

x

i

=

y

tg

.

Шаг 17. Проводится замена используемых вершинами-операторами

обработки структур данных вершин-данных примитивных типов вер-

шинами временн ´ых данных примитивного типа, т.е.

y

i

/

Y

S

:

x

j

F

3

y

i

, x

j

X

S

заменяем вершину

y

i

вершиной временн ´ых данных,

сохраняя все дуги:

y

i

y

t

i

.

Шаг 18. Осуществляется исключение дублирующих передач дан-

ных СП. Для любой пары вершин-операторов обработки структур

x

i

и

x

j

, таких, что

y

k

Y

:

y

k

F

1

2

x

i

, y

k

F

1

2

x

j

,

y

k

/

Y

S

и между

ними в графе не присутствует других вершин-операторов обработ-

ки структур, использующих

y

k

(т.е.

x

i

+1

, . . . x

j

1

/

F

3

y

k

), проверяем

наличие вершин, записывающих новое значение в вершину

y

k

. Если

таких вершин нет, т.е.

F

1

3

y

k

6

⊂ {

x

i

+1

, . . . x

j

1

}

, то передача данных

СП для вершины

x

j

может быть исключена из графа

G

(2)

A

как дубли-

рующаяся, следовательно,

X

X

\

x

для

x

:

x

j

F

1

x

. Проводим

“сшивание”

F

1

x

j

2

F

1

x

j

2

∪ {

x

j

}

, F

1

1

x

j

F

1

1

x

j

∪ {

x

j

2

}

.

Шаг 19. Из множества

X

удаляются все вершины-операторы,

не являющиеся операторами обработки структур, передачи, а также

терминальными или операторами ветвления, т.е.

X

X

\

X

p

, если

x

i

X

p

, то

F

1

x

i

1

F

1

x

i

1

x

i

+1

,

F

1

1

x

i

+1

F

1

1

x

i

+1

x

i

1

.

Шаг 20. Из множества

Y

удаляются все вершины, у которых от-

сутствуют инцидентные им дуги и которые не инцидентны никаким

дугам:

Y

Y

\ {

y

i

}

:

F

3

y

i

=

, F

1

3

y

i

=

,

i

= 1 :

|

Y

|

.

Шаг 21. Осуществляется перенумерация вершин в множестве

X

по порядку, так что обозначение каждой вершины приобретает вид

x

S

i

, а само множество

X

переходит в множество

X

S

.

122 ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. “Приборостроение”. 2016. № 1