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

Шаг 5. Для любого

x

i

X

C

добавляем новую вершину данных

примитивного типа, хранящую информацию о результате вычисления

условия в вершине тега

x

i

:

Y

Y

∪ {

y

tg

}

,

F

2

x

i

=

y

tg

. Добавля-

ем в граф

G

(1)

A

вершины-операторы передачи информации о теге СП:

X

X

∪ {

x

истина

, x

ложь

}

,

F

1

x

i

← {

x

истина

, x

ложь

}

,

F

1

1

x

i

+1

=

x

истина

,

F

1

1

x

k

=

x

ложь

, где

x

k

— вершина в множестве

X

, соответствующая

оператору, который выполняется при ложности условия в вершине

x

i

,

либо вершина слияния потоков управления.

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

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

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

и между ни-

ми в графе

X

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

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

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

(1)

A

как дубли-

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

XX

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

}

.

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

X

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

ботки структур, т.е.

X

X

\

X

S

, если

x

i

X

S

, то

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

.

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

Y

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

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

инцидентны, т.е.

Y

Y

\ {

y

i

}

:

F

3

y

i

=

, F

1

3

y

i

=

,

i

= 1 :

|

Y

|

.

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

X

по

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

x

IC

i

,

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

X

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

X

IC

.

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

Y

по

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

y

pi

, а

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

Y

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

Y

p

.

Шаг 11. Полученный граф является графом арифметико-логической

обработки данных примитивных типов

G

AI

G

(1)

A

.

Преобразование графа

G

(

2

)

A

.

Шаг 12. Пусть определено подмно-

жество

Y

S

Y

вершин-структур данных. Тогда для графа

G

(2)

A

по-

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

X

S

=

{

x

i

}

,

i

= 1 :

|

X

S

|

:

F

1

2

x

i

=

Y

0

, Y

0

Y

S

.

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

x

i

X

S

, если

y

j

F

2

x

i

,

y

j

Y

\

Y

S

и

x

k

F

3

y

j

,

x

k

/

X

S

, k > i

, то

X

X

∪ {

x

}

. При этом

F

1

x

i

F

1

x

i

∪ {

x

}

,

F

1

1

x

i

+1

F

1

1

x

i

+1

∪ {

x

}

и

F

1

2

x

y

j

. В

этом действии осуществляется вставка в граф

G

(2)

A

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

передачи данных примитивного типа ЦП. Вершины отправки данных

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