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

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

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

INPUT list-input-scalar

INPUT input-on-domain

input-scalar :

name-scalar [ attributes ]

input-on-domain :

list input-output-variable ON unconditional domain

input-output-variable :

name-variable-on-domain [ attributes ]

Функция получает очередное описание входных переменных из группы e Cписка Норма предложений (List of Norma statements), вызывая функцию kbin.

Общая структура управления функции opiska приведена на следующей схеме.

pack


obpbxs doplef

k bbxo obpbx

obpsc zapf dopkdc dopgdc


pack

Функция obpbx выделяет очередной элемент list-input-output-variable или list-input-scalar и в зависимости от типа этого элемента вызывает функцию obpbxs или obpsс. При выделении очередного элемента выполняется операция kba=kba+1, то есть список ввода разбивается на отдельные предложения, каждое из которых получает свой statement number.

Функция фиксирует ошибку:

error code 201 'incorrect element list of input variables'<error context>

Функция obpbxs обрабатывает input-output-variable ON unconditional domain. Эта конструкция рассматривается как оператор с пустой правой частью.

Функция pack осуществляет обработку атрибутов ввода-вывода и занесение информации об атрибутах в Таблицу форматов ввода-вывода (Table of input-output formats).

Функция фиксирует ошибки:

error code 234 'incorrect format: missed characteristic in specifier of format'

error code 235 'incorrect format: missed index'<error context>'from attribute ORDER'

error code 236 'incorrect format: missed , after attribute'

error code 237 'incorrect format: incorrect attribute '<error context>

error code 238 'incorrect format: attribute ORDER must be unic'

error code 239 'incorrect format: attribute FILE must be unic'

error code 240 'incorrect format: missed attribute ORDER'

error code 241 'incorrect format: scalar variable'<error context>'has attribute ORDER'

error code 242 'incorrect format: variable'<error context>'has not index'<error context>

error code 243 'incorrect format: missed attribute STR'

error code 244 'incorrect format: attribute format must be uni'

error code 245 'incorrect format: missed = in attribute FILE'

error code 246 'incorrect format: missed file name in attribute FILE'

error code 247 'incorrect file name'

error code 248 'incorrect format: forbidden attribute for INPUT'

error code 256 'incorrect format: '<error context>' is not index'

error code 266 'incorrect format: repeated attribute ALL'

error code 269 'incorrect format: forbidden attribute for variable on domain in OUTPUT'

error code 270 'incorrect format: forbidden attribute for scalar in OUTPUT'

error code 276 'incorrect format: attribute STR or TAB or SPACE is not integer'

error code 277 'incorrect format: missed . in attribute format'

Функция doplef осуществляет проверку допустимости переменной в левой части оператора. Эта переменная должна быть описана как переменная, определенная на области, а область определения должна включать область оператора.

Функция фиксирует ошибки:

error code 411 'incorrect declaration or using variable'<error context>

error code 77 'domain of operator is not in declaration domain of variable' <error context>

error code 78 'indexes'<error context>' of variable '<error context>' are not indexes’ <error context>' of operator domain'

error code 79 'dimension'<error context>' of variable '<error context>' is not equal ot dimension’ <error context>' of operator domain'

Функция obpsc обрабатывает input-scalar. Эта конструкция рассматривается как оператор с пустой правой частью.

Функция zapf заносит информацию об очередном элементе списка ввода в Таблицу функциональных зависимостей (Table of functional dependencies) и тело элемента списка ввода в Таблицу тел операторов (Table of operators body).

Функция dopkdc заносит информацию об очередном элементе списка ввода в Таблицу Что-вычисляется’ (What-compute table).

Функция dopgdc заносит информацию об очередном элементе списка ввода в Таблицу Где-вычисляется’ (Where-compute table).

5.3.4Обработка предложений группы f (Функция kbbyx)

Осуществляет анализ и обработку declaration-of-output. Синтаксис в языке Норма:

declaration-of-output :

OUTPUT list-output-scalar

OUTPUT output-on-domain

output-scalar :

name-scalar [ attributes ]

output-on-domain :

list- input-output-variable ON domain

input-output-variable :

name-variable-on-domain [ attributes ]

Функция получает очередное описание выходных переменных из группы f Cписка Норма предложений (List of Norma statements) вызывая функцию kbout.

Общая структура управления функции kbbyx приведена на следующей схеме.

pack


obrs vxodit

k bbyx obpbyb

obrsc zapf dopkdc


pack

Функция obpbyb выделяет очередной элемент list input-output-variable или list-output-scalar и в зависимости от типа этого элемента вызывает функцию obrs или obrsс. При выделении очередного элемента выполняется операция kba=kba+1, то есть список вывода разбивается на отдельные предложения, каждое из которых получает свой statement number.

Функция фиксирует ошибку:

error code 200 'incorrect element list of output variables'<error context>

Функция obprs обрабатывает input-output-variable ON domain. Эта конструкция рассматривается как оператор с пустой левой частью.

Функция фиксирует ошибки:

error code 411 'incorrect declaration or using variable'<error context>

error code 205 'domain of output variable'<error context>’is not in declaration domain’

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

Функция vxodit осуществляет проверку допустимости переменной в правой части оператора.

Функция obpsc обрабатывает input-scalar. Эта конструкция рассматривается как оператор с пустой левой частью.

Функция фиксирует ошибку:

error code 411 'incorrect declaration or using variable'<error context>

Функция zapf заносит информацию об очередном элементе списка вывода в Таблицу функциональных зависимостей (Table of functional dependencies) и тело элемента списка вывода в Таблицу тел операторов (Table of operators body).

Функция dopkdc заносит информацию об очередном элементе списка вывода в Таблицу Что-вычисляется’ (What-compute table).

5.3.5Обработка предложений группы g (Функция kvopr1)

Осуществляет анализ и обработку конструкции operator. Синтаксис в языке Норма:

operator :

scalar-operator

operator-ASSUME

call-part

Функция получает очередной оператор из группы g Cписка Норма предложений (List of Norma statements) вызывая функцию kbfor.

Результат работы функции - запись информации о переменной (переменных), вычисляемой в операторе, в Таблицу функциональных зависимостей (Table of functional dependencies), Таблицу Что-вычисляется’ (What-compute table), Таблицу Где-вычисляется’ (Where-compute table), и запись тела оператора в Таблицу тел операторов (Table of operators body). Если в результате анализа оператора обнаружены ошибки, запись не проводится.

При обработке любого оператора используются стеки nom и mom. Вершина стека nom содержит statement number оператора, обрабатываемого в данный момент. Вершина стека mom содержит name-domain оператора, обрабатываемого в данный момент (для scalar-operator стек scalar-operator в начальный момент пуст).

Общая структура управления функции kvopr1 приведена на следующей схеме.

scop

k vopr1 opv6

kvo2

Функция kvopr1 в зависимости от типа оператора вызывает функцию scop (обработка scalar-operator), opv6 (обработка operator-ASSUME) или kvo2 (обработка call-part в operator-ASSUME или вне operator-ASSUME).

Функция фиксирует ошибки:

error code 80 'incorrect left side of operator ASSUME: '<error context>' can not have indexes'

error code 415 'incorrect operator'

5.3.5.1Функция scop - обработка scalar-operator

Синтаксис в языке Норма:

scalar-operator :

name-scalar = scalar-arithm-expression

Общая структура управления функции scop приведена на следующей схеме.

s cop doplfs a b1 zapf dopkdc dopgdc

Функция doplfs осуществляет проверяет допустимости переменной в левой части scalar-operator.

Функция фиксирует ошибку:

error code 72 'incorrect scalar-operator '<error context>

Остальные функции обрабатывают правую часть scalar-operator.

Функция a строит польскую запись для арифметического выражения правой части оператора. Если при этом обнаружены ошибки, обработка оператора прекращается.

Функция фиксирует ошибку:

error code 75 'incorrect expression'<error context>

Функция b1 осуществляет проверку допустимости термов скалярного арифметического выражения, представленного в польской записи. Термами могут быть scalars, arithmetical constants, domain’s parameters, function calls, variables on domain with index-constants. Для термов этих типов формируется строка для записи в Таблицу функциональных зависимостей (Table of functional dependencies).

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

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

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