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

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

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

<end line number> ::=<integer>

Эта информация означает, что Норма-предложение с номером <statement number> из Списка Норма-предложений (List of Norma statements) начинается в исходном файле в строке с номером <begin line number> и заканчивается в строке с номером <end line number>.

3.7Таблица последовательных групп (Table of ordered groups).

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

Структура Таблицы последовательных групп (Table of ordered groups):

ordered group

ordered group

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

statement number

statement number

statement number

<statement number> ::=<integer>

Эта информация означает, что для Норма-операторов с номерами <statement number> из Таблицы последовательных групп (Table of ordered groups) задан режим последовательных вычислений.

3.8Список ошибок (List of errors)

Список ошибок (List of errors) предназначен для хранения во внутреннем представлении информации об ошибках и предупреждениях в Норма-программе.

Структура Списка ошибок (List of errors):

errors in lines

errors in lines

errors in lines

Структура элемента errors in lines :

error context

error code

error context

error code

begin line number

end line number

<error context>::=<sequence of token codes>

<error code>::=<integer>

<begin line number> ::=<integer>

<end line number> ::=<integer>

Каждая ошибка представляется парой <error context><error code>.

Элемент errors in lines представляет информацию о наличии всех ошибок с указанными <error context><error code> в строках <begin line number>-<end line number> исходного файла.

Занесение информации об ошибке в Список ошибок (List of errors) осуществляется функцией ero с параметрами

<error context><error code><statement number>

Для ошибок, относящихся к программе в целом, <statement number>=’*’.

3.9Таблица областей (Table of domains)

Таблица областей (Table of domains) предназначена для хранения информации об областях, используемых в Норма-программе. При обработке областей используются также вспомогательные структуры данных: Таблица диапазонов (Table of ranges), Таблица условий (Table of conditions), Таблица диагоналей (Table of diagonals).

Строка Таблицы областей (Table of domains) имеет вид:

name of domain

shape

indexes

subdomains

conditional

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

<shape>::=<integer>

<indexes>::=<sequence of tokens>

<subdomains>::=<name of domain> OR

<name of range>

<conditional>::=<condition number>Y OR <condition number>N

<shape> - размерность области (число индексов)

<indexes> - список индексов области

<subdomains> - имена элементарных (одномерных) подмножеств, декартово произведение которых составляет данное множество. Если множество само является элементарным (то есть <shape>=1), то <subdomain> является ссылкой на строку дополнительной Таблицы диапазонов (Table of ranges).

<conditional> - пустое поле для безусловных областей; для условных областей содержит ссылку на строку в Таблице условий (Table of conditions) и признак истинности условия: Y - true, N - false. В языке Норма можно определить в одном описании только пару условных областей: первая область соответствует условию со значением true, вторая - условию false. Обработка такого описания приводит к занесению в Таблицу областей (Table of domains) двух строк, которые различаются только признаками Y и N, а ссылки на Таблицу условий (Table of conditions) совпадают.

3.9.1Таблица диапазонов (Table of ranges)

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

name of range

begin of range

end of range

<name of range>::=<token code>

<begin of range>::=<integer>

<end of range>::=<integer>

3.9.2Таблица условий (Table of conditions)

Строка Таблицы условий (Table of conditions) имеет вид:

condition body

<condition body>::=<sequence of tokens>

3.9.3Таблица условных областей (Table of conditional domains)

Строка Таблицы условных областей (Table of conditional domains) имеет вид:

name-conditional domain

name-conditional-domain

name-domain

ref-on-condition

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

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

<ref-on-condition>::=<reference in Table of conditions >

Основные функции, реализующие операции над областями в процессе трансляции и использующие описанные выше структуры.

Функция peres реализует проверку непустоты пересечения двух областей D1, D2.

Аргументы: D1, D2 - D1, D2 are <token code>.

Результат: 0 если D1 D2=

1 если D1 D2

Функция vxodit реализует проверку включения области D1 в D2.

Аргументы: D1, D2 - D1, D2 are <token code>.

Результат: 0 если D1 D2=

1 иначе

3.9.4Таблица диагоналей (Table of diagonals)

Таблица диагоналей (Table of diagonals) предназначена для представления диагональных областей. Синтаксис в языке Норма:

declaration-of-diagonal-domain :

name-diagonal-domain : name-unconditional-domain / list-condition-on-index

condition-on-index :

name-index rel-except-not-equal-operation name-index [{ +,- } const-expression-without-sign]

Строка Таблицы диагоналей (Table of diagonals) имеет вид:

name-diagonal domain

diagonal-index

diagonal-index

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

Структура элемента <diagonal-index>:

name-index

name-index

displacement

displacement

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

<displacement>::=<integer>

В Таблице диагоналей (Table of diagonals) хранится информация о точках пересечения диагоналей вида

name-index1 =name-index2 [{ +,- } const-expression-without-sign]

заданных в системе координат (name-index1, name-index2), с осью координат name-index1 (с учетом вида операции rel-except-not-equal-operation). Этой информации достаточно для того, чтобы определить все точки диагональной области name-diagonal-domain , зная описание области name-unconditional-domain.

Например, в результате обработки описаний

KL: ( (k=1..10) ; (l=1..10) ) . Diagonal: KL/ k=l, k<l+5,k>l+1.

в Таблицу диагоналей (Table of diagonals) будет занесена строка (с точностью до token codes)

Diagonal

k

l

0

0

k

l

4

2

Геометрическая интерпретация области Diagonal:

k k=l+4 k=l+2 k=l

10

4

2

1


0 1 10 l

Область Diagonal состоит из точек с целочисленными координатами, расположенных на прямой k=l или заключенных между прямыми k=l+2 и k=l+4.

3.10Таблица упорядоченных индексов (Table of ordered indexes)

Таблица упорядоченных индексов (Table of ordered indexes) предназначена для фиксации порядка направлений индексного пространства задачи. Порядок направлений индексного пространства совпадает с порядком расположения имен индексов в таблице. Таблица имеет вид:

index

index

<index>::=<token code>

3.11Таблица индексов распределения (Table of distribution indexes)

Таблица индексов распределения (Table of distribution indexes) предназначена для хранения информации об именах индексов, по которым ведется распределение данных по процессорам, и соответствующего числа процессоров.

Таблица имеет вид:

index

number of processors

index

number of processors

<index>::=<token code>

<number of processors>::=<integer>

3.12Таблица функциональных зависимостей (Table of functional dependencies)

Таблица функциональных зависимостей (Table of functional dependencies) предназначена для хранения информационных зависимостей, существующих в операторах Норма-программы. Переменная X зависит от переменной Y, если значение Y требуется для вычисления X в данном операторе. Если для вычисления значений переменной X на некоторой области Domain1 требуются значения переменной Y на области Domain2, то область Domain2 назывется областью требуемых значений (ниже области требуемых значений обозначаются need-domain).

В Таблице функциональных зависимостей (Table of functional dependencies) представлена информация для операторов следующих типов: scalar-operator, operator-ASSUME, call-part, declaration-of-input, declaration-of-output.

Строка Таблицы функциональных зависимостей (Table of functional dependencies) имеет вид:

left-hand-side-variable

dependencies

ref-on-body

<ref-on-body>::=<reference in Table of operators body >

Значения поля <left-hand-side-variable> таблицы в зависимости от типа оператора:

type of operator

left-hand-side-variable

scalar-operator

<statement number><variable>’S’

operator-ASSUME

<statement number><variable><name-domain>

input-scalar

<statement number><variable>’SV’

input-on-domain

<statement number><variable><name-domain>’V’

output-scalar

<statement number><variable>’SO’

output-on-domain

<statement number><variable><name-domain>’O’

exit-condition

<statement number>’VS’

call-part

<statement number>’R’

<statement number> ::=<integer>

<variable>::=<token code>

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

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

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