normDDr (1158429), страница 4

Файл №1158429 normDDr (Раздаточные материалы) 4 страницаnormDDr (1158429) страница 42019-09-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 4)

<name-domain>::=<token code>

Значения поля <dependencies> таблицы в зависимости от типа оператора:

type of operator

dependencies

scalar-operator

<term-dependencies>

operator-ASSUME

<term-dependencies>

input-scalar

input-on-domain

output-scalar

output-on-domain

exit-condition

<term-dependencies>

call-part

<parameter-dependencies>

Значением поля <term-dependencies> таблицы является ссылка на список зависимостей следующего вида:

term-dependency

term-dependency

term-dependency

Структура элемента term-dependency в зависимости от типа терма арифметического или логического выражения (для термов других типов информационная зависимость отсутствует и они поэтому в таблицу не заносятся):

type of term

term-dependency

iterated-scalar

<name-scalar ><ind-expr><name-result><need-domain>

iterated-variable-on-domain

<name-var><ind-expr><name-result><new-ind-expr><need-domain>

name-scalar

<name-scalar >’S’

variable-on-domain

<name-var><ind-expr><name-var><new-ind-expr><need-domain>

in-parameter-of-function

<parameter dependencies>

<name-scalar>::=<token code>

<name-var>::=<token code>

<name-result>::=<token code>

<ind-expr>::=<sequence of token codes>

<new-ind-expr>::=<sequence of token codes>

<need-domain>::=<token code>

Значением поля <parameter-dependencies> таблицы является ссылка на список зависимостей следующего вида:

param-dependency

param-dependency

param-dependency

Структура элемента param-dependency в зависимости от типа параметра раздела (для параметров других типов информационная зависимость отсутствует и они поэтому в таблицу не заносятся):

type of parameter

param-dependency

arithm-expression

<term-dependencies>

name-variable-on-domain ON domain-of-parameter

<name-var><need-domain>

iterated-variable-on-domain ON domain-of-parameter

<name-var><need-domain>

<name-var>::=<token code>

<need-domain>::=<token code>

Для оптимизации алгоритмов анализа и обработки информационных зависимостей между переменными компилятор использует также две вспомогательные таблицы - Таблицу Что-вычисляется’ (What-compute table) и Таблицу Где-вычисляется’ (Where-compute table).

3.12.1Таблица Что-вычисляется’ (What-compute table)

Строка Таблицы Что-вычисляется’ (What-compute table) имеет вид:

statement number

name-variable

name-domain

<statement number>::=<integer>

<name-variable>::=<token code>

<name-domain>::=<token code> OR ‘S’

Эта информация означает, что в операторе с номером statement number вычисляется переменная с именем name-variable на области name-domain (если name-variable - имя скалярной переменной, то <name-domain>=’S’).

3.12.2Таблица Где-вычисляется’ (Where-compute table)

Строка Таблицы Где-вычисляется’ (Where-compute table) имеет вид:

name-variable

statement number

name-domain

statement number

name-domain

<statement number>::=<integer>

<name-variable>::=<token code>

<name-domain>::=<token code> OR ‘S’

Эта информация означает, что переменная с именем name-variable вычисляется в операторе с номером statement number на области name-domain (если name-variable - имя скалярной переменной, то <name-domain>=’S’).

Эта таблица позволяет, в частности, эффективно реализовать проверку свойства однократного присваивания (single assignment) для переменных Норма-раздела.

3.13Таблица тел операторов (Table of operators body)

Таблица тел операторов (Table of operators body) предназначена для хранения тел операторов в форме, ориентированной на генерацию выходной Fortran-программы. У переменных, входящих в операторы, восстановлены индексные выражения, вместо имен, описанных как DOMAIN PARAMETERS, подставлены их значения, имена итерируемых переменных заменены на соответствующие имена переменных-результатов (с предыдущего или текущего шага итерации).

Строка Таблицы тел операторов (Table of operators body) имеет вид:

sequence of token codes

3.14Таблица форматов ввода-вывода (Table of input-output formats)

Таблица форматов ввода-вывода (Table of input-output formats) предназначена для хранения атрибутов ввода-вывода для input-variable и output-variable.

Строка Таблицы форматов ввода-вывода (Table of input-output formats) имеет вид:

statement number

name-variable

name-domain

attribute

attribute

<statement number>::=<integer>

<name-variable>::=<token code>

<name-domain>::=<token code> OR ‘S’

<attribute>::=<sequence of token codes>

Эта информация означает, что переменная с именем name-variable является input-variable или output-variable в операторе с номером statement number на области name-domain (если name-variable - имя скалярной переменной, то <name-domain>=’S’) и имеет атрибуты attribute.

3.15Граф информационных зависимостей (Data dependencies graph (DDG))

DDG G(V,E) - иерархический ориентированный граф. V - множество вершин графа, каждая вершина соответствует некоторому Норма-оператору, итерации или описанию входных или выходных переменных. E - множество дуг графа, которые отображают наличие информационных зависимостей между переменными: если переменная X зависит от переменной Y, то сущемтвуеь дуга e от X к Y.

Все конструкции языка Норма iteration заменяются на специальные вершины графа (iteration-вершины). Iteration-вершинам соответствуют подграфы графа DDG.

Все упорядоченные последовательности операторов (ordered groups - группы предложений Норма-программы, для которых задан режим последовательного выполнения) заменяются на специальные вершины графа (ordered-groups-nodes).

DDG представляется следующей структурой данных: для каждой вершины vV определена строка зависимостей, в которую входят вершины DDG, от которых v зависит.

graph-node

dependency-node

dependency-node

<dependency-node>::=<node>

<graph-node>::=<node>

<node>::=<statement number> OR <iteration number> OR <ordered group number>

3.16Редуцированныйграф информационных зависимостей (Reduced data dependencies graph (RDDG))

Граф DDG преобразуется в редуцированный граф информационных зависимостей (RDDG). RDDG - иерархический ориентированный ациклический граф.

В RDDG осуществляется поиск максимальных сильно связных подграфов (MSCS). MSCS - сильно связный подграф графа DDG, который не содержится ни в одном другом сильно связном подграфе графа DDG. Далее проводится редукция графа DDG: все MSCS заменяются вершинами специального типа.

Таким образом, RDDG состоит из MSCS-вершин, iteration-вершин, ordered-groups-вершин и simple-вершин (остальных вершин).

RDDG представляется следующей структурой данных: для каждой вершины vV определена строка зависимостей, в которую входят вершины RDDG, от которых v зависит.

r-graph-node

r-dependency-node

r-dependency-node

<r-dependency-node>::=<node>

<r-graph-node>::=<node>

<node>::=<statement number> OR <iteration number> OR <ordered group number> OR

<MSCS number>

3.17Список максимальных сильно связных подграфов (List of MSCS)

MSCS - сильно связный подграф графа DDG, который не содержится ни в одном другом сильно связном подграфе графа DDG.

Элемент Списка максимальных сильно связных подграфов (List of MSCS) представляется следующей структурой данных:

MSCS-number

statement number

statement number

3.18Список для представления параллельной ярусной схемы (List for parallel layer scheme representation)

Parallel layer scheme является пезультатом частичного упорядочивания редуцированного графа информационных зависимостей (RDDG). Если существует дуга из P в Q (P,Q принадлежат V), то есть Q используеься для вычисления P, то P>Q (Q должна быть вычислена раньше P).

Вычисления, соответствующие вершинам RDDG и принадлежащие одному и тому же ярусу, могут выполняться параллельно и независимо. Переход от текущего яруса схемы к следующему осуществляется после того, как все вычисления на текущем ярусе закончены.

Parallel layer scheme представляется следующей структурой данных:

layer

layer

layer

Структура элемента <layer>:

layer-number

node

node

<layer-number>::=<integer>

<node>::=<statement number> OR <iteration number><Parallel layer scheme> OR

Характеристики

Список файлов учебной работы

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7026
Авторов
на СтудИзбе
260
Средний доход
с одного платного файла
Обучение Подробнее