Главная » Просмотр файлов » Н. Джехани - Язык Ада (1988)

Н. Джехани - Язык Ада (1988) (1160771), страница 105

Файл №1160771 Н. Джехани - Язык Ада (1988) (Н. Джехани - Язык Ада (1988)) 105 страницаН. Джехани - Язык Ада (1988) (1160771) страница 1052019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

В примере 1 (см. 10.1.1) процедура О()АОЯАТ(С ЕО()АТЮМ должна компилироваться по. спе библиотечных пакетов ТЕХТ Ю и ЯЕАЕ ОРЕЯАТЮМ8, так как они упомянуты в специфи. кагоре совместности процедуры. б. В примере 2 (см. 10.1.2) тело пакета ЗТОСК должно компилироваться после соответствующей спецификации пакета.

Глава 10 в. В примере 2 (см. 10.1.2) спецификация пакета ЗТОСК должна компилироваться до про. цедуры РЛОСЕЗЗОЯ. С другой стороны, процедура РЯОСЕЗЗОЯ может компилироваться как до, так и после тела пакета ЗТОСК. г. В примере 3 (см. 10.2.1) процедура О должна компилироваться после пакета ТЕХТ Ю, так как этот пакет упомянут в спецификаторе совместности процедуры О. В то же время пакет ТЕХТ Ю может компилироваться как до, так и после процедуры ТОР.

д. В примере 3 (см. 10.2.1) субмодули ТЯАНЗРОЯМ и ЕАС((зТТ должны компилироваться после главной программы ТОР. Субмодупь О должен компилироваться после его родительского модуля РАС1МТУ. Примечание. Для библиотечных пакетов из правил перекомпиляции следует, что тело пакета становится устаревшим после перекомпиляции соответствующей спецификации. Если но.

вая спецификация пакета не требует задания тела (т. е. она не содержит описаний программных модулей), то перекомпиляции тела такого пакета не требуется. В любом случае устаревшее тело пакета не должно использоваться и поэтому может быть удалено из программной библиотеки. Ссылки: библиотечный модуль 10.1, видимость 8.3, вторичный модуль 10.1, имя 4.1, компилируемый модуль 10.1, компиляция 10.1, локальное описание 8.1, настраиваемый модуль 12, настраиваемое тело 12.2, описание настройки 12.1, описание подпрограммы 6.1, пакет 7, переменная 3.2.1, прагма )Н(.)НЕ 6.3.2, предвыполнение 3.9, процедура 6.1, родительский модуль 10.2, соответствующее тело 3.9, спецификатор контекста 10.1.1, спецификатор совместности 10.1.1, спецификация пакета 7.1, спецификация подпрограммы 6.1, субмодуль 10.2, тело пакета 7.1, тело подпрограммы 6.3, тело процедуры 6.3, тип 3.3.

10.4. ПРОГРАММНАЯ БИБЛИОТЕКА Правила языка требуют, чтобы компилятор одинаковым образом обрабатывал программу, состоящую из нескольких компилируемых модулеи (и субмодупей) или из одного компилируе. мого модуля. Должен быть предусмотрен библиотечный файл, содержащий информацию о компилируемых модулях программной библиотеки, в который могут включаться символьные таблицы и другая информация, относящаяся к предыдущим компиляциям. Обычно входными данными для компилятора являютея компилируемые модули (или модуль) и библиотечный файл. Последний используется для проверок и корректируется после успешного компилирования каждого из этих модулей. Примечание.

Для компилируемых модулей компиляции создается одна программная библиотека. Возможно существование различных программных библиотек; в языке не определе. ны правила их именования — это обеспечивается окружением системы программирования. Для создания программной библиотеки данной программы или данного семеиства про. грамм следует ввести команды. Эти команды могут разрешать использование модулей из других программных библиотек. Наконец, для запроса состояний модулей в программной библиотеке также следует ввести команды.

Форма этих команд не задана в определении языка. Ссылки: компилируемый модуль 10.1, порядок компиляции 10.3, программа 10.1, программная библиотека 10.1, спецификатор использования 8.4, спецификатор контекста 10.1.1, спецификатор совместности 10.1.1, субмодуль 10.2. 10.6. ПРЕДВЫПОЛНЕНИЕ БИБЛИОТЕЧНЫХ МОДУЛЕЙ Перед выполнением главной программы все библиотечные модули, необходимые для главной программы, и тела этих модулей (если они есть) предвыполняются. Такими библиотечными модулями являются модули, упомянутые е спецификаторах совместности для главной программы, ее тела и субмодулей, а также модули, упомянутые в спецификаторах совместности для этих библиотечных модулей, их тел и субмодулей, и т.

д. вплоть до получения транзитивного замыкания. Предвыполнение таких библиотечных модулей и их тел производится в соответствии с частичной упорядоченностью, определяемой спецификаторами совместности (см. 10.3). Кроме того, библиотечный модуль, упомянутый в спецификаторе контекста дпя субмодуля, должен быть предвыполнен до тела библиотечного модуля-предка этого субмодуля. Порядок предвыполнения, отвечающий такому отношению упорядоченности, не всегда обеспечивает выполнение следующего требования: тело любого библиотечного модуля пред- выполняется прежде любого другого компилируемого модуля, при предвыполнении которого необходимо предвыполненив тела этого библиотечного модуля. Для указания необходимости более раннего предвыполнения тел библиотечных модулей используется прагма Е(.АВОЯАТЕ.

С л шшы и льтвт компяля вя Эта прагма записывается в виде рга9гла Е(АВОЯАТЕ (простое имя библиотечного модуля („ простое имя библиотечного модуля)); Такие прагмы допустимы только непосредственно после спецификатора контекста компилируемого модуля(до следующего эа ним библиотечного или вторичного модуля). Аргументы этой прагмы должны быть простыми именами библиотечных модулей, упомянутых в спецификаторе контекста, и каждый такой библиотечный модуль должен иметь соответствующее тело.

Эта прагма указывает, что тело библиотечного модуля должно предвыполняться до данного компилируемого модуля. Если данный компилируемый модуль — субмодуль, то тело библиотечного модуля должно предвыполняться до тела библиотечного модуля-предка (суб. модуля). Программа неправильна, если не может быть найден необходимый порядок предвыполне. ния (т. е. если существуют циклические зависимости). Предвыполнение компилируемых модулей программы в остальных случаях осуществляется в некотором порядке, который не опреде.

лен в языке. Ссылки: аргумент прагмы 2.8, библиотечный модуль 10.1, в некотором порядке 1.6, вторичный модуль 10.1, главная программа 10.1, допустим 1.6, зависимость между компилируемыми модулями 10.3, имя 4.1, компилируемый модуль 10.1, неправильна 1.6, простое имя 4,1, специ. фикатор контекста 10.1.1, спецификатор совместности 10.1.1, субмодуль 10.2, раздельная компиляция 10.1. 10.6.

ОПТИМИЗАЦИЯ ПРОГРАММЫ Компиляторы могут осуществлять оптимизацию предвыполнения описаний и выполнения операторов. В частности, компилятор может оптимизировать программу, вычисляя определенные выражения помимо статических. Если какое. либо из таких выражений, статических или нет, при вычислении приводит к возбуждению исключения, то код этой части программы мо жег быть заменен кодом возбуждения того же исключения; зто справедливо для исключений, возбуждаемых при вычислении имен и простых выражений (см. также равд. 11.6). Компилятор может определить, что некоторые операторы или подпрограммы никогда не будут выполняться, например, если их выполнение зависит от условия, имеющего значение РАЕЗЕ. В таком случае соответствующие части объектного машинного кода могут быть опущены.

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

Ссылки: возбуждение исключения 11.1, выражение 4.Т, вычисление 4.5, исключение 11, ло. гическое значение РАЕЗЕ 3.5.3, оператор 5, описание 3.1, подпрограмма 6, предвылолнение 3.9, программа 10, статическое выражение 4.9, условие 5.3. Глава 11 ИСКЛЮЧЕНИЯ В этой главе определяются средства обработки ошибок или других исключительных ситуаций, которые возникают при выполнении программы.

Такая ситуация называется исключени. ем. Возбуждение исключения следует понимать как прекращение нормального выполнения программы для обработки соответствующей ситуации. Ответное действие на возбуждение исключения называется обработкой исключения. В описании исключения задается имя исключения. Исключение может быть возбуждено либо оператором возбуждения, либо каким. либо другим оператором или операцией, распространяющими исключение.

При возбуждении исключения управление может быть передано обработчику исключения, написанному пользователем либо в конце оператора блока, либо в конце тела подпрограммы, пакета или задачного модуля. Ссылки: имя 4.1, обработчик исключения 11.2, оператор блока 5.6, оператор возбуждения 11.3, ошибочная ситуация 1.6, распространение исключения 11.4.1, 11.4.2, тело задачи 9.1, тело пакета 7.1, тело подпрограммы 6.3. 11.1. ОПИСАНИЯ ИСКЛЮЧЕНИЙ В описании исключения задается его имя. Это имя можно употреблять только в операторах возбуждения, обработчиках исключений и описаниях переименования.

описание исключения з= список идентификаторов: ехсербоп; СОНЗТЯА)НТ ЕЯЯОЯ Это исключение возбуждается в любой из следующих ситуаций: при попытке нарушить ограничение диапазона, ограничение индекса или ограничение дискриминанта; при попытке ис. пользовать компоненту записи, не существующую для текущих значений дискриминанта; при попытке использовать именуе. мую компоненту, индексируемую компоненту, отрезок или атрибут объекта, обозначенного ссылочным значением, если этот объект не существует, поскольку ссылочное значение пустое. Это исключение возбуждается при выполнении предопределенной числовой операции, которая не может выработать верный результат(для вещественных типов в пределах предписан. ной точности). Сюда относится также случай использования реализацией предопределенных числовых операций для выполнения, вычисления или предвыполнения некоторой кон.

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

Тип файла
DJVU-файл
Размер
4,41 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

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