Главная » Просмотр файлов » rsl.formal.specifications.conspect

rsl.formal.specifications.conspect (811084), страница 2

Файл №811084 rsl.formal.specifications.conspect (rsl.formal.specifications.conspect) 2 страницаrsl.formal.specifications.conspect (811084) страница 22020-08-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

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

ее расширения.Неявно предполагается, что все конструкции, содержащие комментарии(принадлежащие к синтаксической категории comment), имеют контекстнонезависимое расширение до соответствующей конструкции, получаемойпутем удаления этих комментариев.Контекст (scope) и правила видимости. Секция содержит описаниеконтекста и правил видимости.Контекстные условия. Секция содержит описание условий, которымдолжны удовлетворять синтаксически правильные строки для обеспечения8их статической корректности. При этом статически корректной называетсясинтаксически правильная строка, для которой выполнены контекстныеусловия. Для удобства некоторые из этих условий в синтаксическихправилах также изображаются с помощью напечатанных курсивомпрефиксов, как описано выше.Контекстно-зависимые расширения.

Секция содержит расширениеконструкций. Когда для какой-либо конструкции задается контекстнозависимое расширение в терминах других конструкций, ее атрибуты исемантика не формулируются отдельно, а задаются атрибутами и семантикойее расширения. Контекстные условия расширяемой конструкциипредставляют собой контекстные условия, сформулированные для даннойконструкции, плюс контекстные условия ее расширения.Атрибуты. Секция содержит описание атрибутов для статическикорректных строк. Атрибуты используются для описания контекстныхусловий.Семантика. Секция содержит описание семантики статически корректныхстрок языка.1.2. Декларативные конструкцииДекларативнаяконструкцияявляетсяязыковойконструкцией,представляющей одно или более определений.

Определение задаетидентификатор или операцию для некоторой сущности, такой как схема, тип,значение, переменная, канал или аксиома.Для некоторых декларативных конструкций определения, которые онипредставляют, зависят от контекста, в котором встречаются эти конструкции.Для таких конструкций максимальные типы идентификаторов и (или)операций, заданных содержащимися в данных конструкциях определениями,определяются максимальным типом, заданным контекстом этихконструкций. Такой максимальный тип называют максимальнымконтекстным типом данной декларативной конструкции.С любым определением связана некоторая область RSL текста, называемаяконтекстом этого определения. Внутри этого контекста и только там дляобращения к вводимой данным определением сущности можно использоватьее идентификатор или операцию.

Под контекстом декларативнойконструкции подразумевается контекст ее определений, которыйустанавливается правилами контекста языка RSL.Определение является видимым в некоторой точке RSL текста, если в даннойточке для обращения к заданной с помощью этого определения сущностиможно использовать ее идентификатор или операцию. В таком случаеговорят, что в данной точке идентификатор или операция представляютданную сущность или являются ее именем. Видимость определенийустанавливается правилами видимости языка RSL.9Два определения называются совместимыми (compatible), если они задаютразличные идентификаторы (операции) или если оба они являютсяопределениями значений (констант и функций), которые задают один и тотже идентификатор (операцию), но их максимальные типы различимы.Контекстные условия, установленные для каждой индивидуальнойсинтаксической категории, обеспечивают совместимость всех видимыхопределений в любой точке RSL текста.1.3. Правила контекста (Scope Rules)Контекст декларативной конструкции может зависеть от контекста, вкотором она встречается.

Поэтому для каждой конструкции, включающей всебя декларативную конструкцию, должен быть задан контекст такоговключения. Это описывается в секциях “Контекст и правила видимости” сиспользованием следующих соглашений:1. Для декларативной конструкции, встречающейся непосредственновнутри не декларативной конструкции, контекст всегда указываетсяявно. Например, объявления в локальном выражении:localvalue x : Int = 3in x + 2 endКонтекстом определения x является строка локального объявления ивыражение x + 2.2. Для декларативной конструкции, встречающейся непосредственновнутри декларативной конструкции, возможны следующие случаи:(a) Контекст указан явно.

В этом случае итоговый контекст совпадаетс этим явно указанным контекстом.(b) Указан непосредственный контекст. В этом случае итоговымконтекстом является непосредственный контекст плюс возможныерасширения. Расширения зависят от контекста внешнейдекларативной конструкции и задаются для всех ее вхождений.Например, объявления в базисном классовом выражении:scheme S =extendclassvalue x : Int = 3,endwithclassvalue y : Int = xendНепосредственным контекстом определения x является строкаобъявлений первого классового выражения. Итоговым контекстом10x является эта область плюс строка объявлений второго классовоговыражения.(c) Контекст не задан. В этом случае неявно подразумевается, чтоконтекствнутреннейконструкциизадаетсяконтекстомнепосредственно объемлющей ее внешней конструкции.Например:valuex : Int = y,y : IntКонтекст определения значения x равен контексту всего разделаобъявления значений.1.4.

Правила видимости (Visibility Rules)Правила видимости языка RSL таковы:1. Определение не видимо вне своего контекста.2. Определение потенциально видимо всюду внутри своего контекста.Однако в этом контексте могут существовать участки, где определениеявляется скрытым, т.е. не видимым. Например, если идентификатор(операция), заданный некоторым определением, задается также вовнутреннем контексте с помощью другого определения, то внешнееопределение считается скрытым на протяжении всего контекста этоговнутреннего определения.

В случае, когда оба такие определенияпредставляют собой определения значений, внешнее определение нескрывается, если максимальные типы этих двух значений различимы.Например:classvariable v : Bool := trueaxiomlocalvariable v : Int := 3in v = 7 endendВ этом примере контекстом определения переменной v : Bool := true являетсявсе классовое выражение, тогда как контекстом определения локальнойпеременной v : Int := 3 является только строка локального объявления ивыражение v = 7. Следовательно, по правилу 2 в выражении v = 7 видимымявляется только определение локальной переменной.

Действительно,внутреннее определение v будет всегда скрывать внешнее внутри своего11контекста, если только оба они не являются определениями значений. Этоиллюстрирует следующий пример:classvalue v : Bool = trueaxiomlocalvalue v : Int = 3in v endendЗдесь в локальном выражении определение локального значения не скрываетвнешнее определение значения, поскольку максимальные типы этих двухопределений различны.

В данном локальном выражении видимыми будутоба определения значения, фактически же вхождение v должно определятьсявнешним определением, т.к. аксиомы представляют собой булевскиевыражения.1.5. Перегрузка имен (Overloading)Под перегрузкой идентификатора или операции в некоторой точке RSLтекста понимается ситуация, когда в указанной точке видимыми являютсянесколько определений этого идентификатора или операции.Перегрузка имен допускается только для операций и идентификаторовзначений (констант и функций).У всех операций есть одно или более предопределенное значение,контекстом которого является вся спецификация целиком и которое неможет скрываться.

Следовательно, если пользователь определяет некоторуюоперацию таким образом, что ее максимальный тип различается смаксимальными типами ее предопределенных значений, то эта операцияперегружается в тех точках, где видимыми являются как определениепользователя, так и предопределенные значения указанной операции.Пользователю не разрешается определять операцию так, чтобы еемаксимальный тип не различался хотя бы с одним из максимальных типов еепредопределенных значений (см. контекстные условия в разделе 11).При составлении спецификаций необходимо иметь в виду, что для тогочтобы спецификация оказалась полезной и могла быть использована вдальнейшем, у каждого ее идентификатора и операции должна существоватьединственная допустимая интерпретация.

При этом под интерпретациейидентификатора (операции) понимается его соответствующее определение.При перегрузке какого-то идентификатора или операции его вхождениеимеет несколько возможных интерпретаций (по одной для каждого еговидимого определения), и, следовательно, возникает проблема найтидопустимое соответствующее определение данного идентификатора илиоперации (если оно вообще существует).12Некоторые возможные интерпретации рассматриваемого идентификатораили операции могут оказаться недопустимыми, поскольку не будутудовлетворять контекстным условиям его вхождения. Поэтому, чем большеконтекста будет принято во внимание, тем больше информации(контекстных условий) будет получено для исключения недопустимыхинтерпретаций. Однако если рассматриваемый контекст представляет собойвыражение, максимальный тип которого будет одним и тем же длянескольких возможных интерпретаций входящих в него идентификаторовили операций, то дальнейший анализ контекста не даст ощутимыхрезультатов, т.к.

не позволит отдать предпочтение какой-то одной изимеющихся интерпретаций. Следовательно, все эти интерпретации будутдопустимыми.Более формально для данной конструкции допустимые интерпретации(legal interpretation) вхождений идентификаторов или операций в точке ихиспользования находятся следующим образом:1. Если данная конструкция не имеет в своем составе другихконструкций, то рассматриваются все комбинации возможныхинтерпретаций идентификаторов и операций. В противном случаерассматриваются все комбинации интерпретаций, допустимых длясоставляющих конструкций.2.

Далее удаляются те комбинации, которые не удовлетворяютконтекстным условиям данной конструкции.3. В заключение, если конструкция представляет собой выражение,принадлежащее синтаксической категории value_expr, удаляются текомбинации, при которых максимальные типы данной конструкции неразличимы.Полученные в результате описанного процесса комбинации интерпретацийсодержат допустимые для данной конструкции интерпретации вхождений ееидентификаторов и операций.Перегрузка называется разрешимой (resolvable), если существует в точностиодна допустимая интерпретация каждого идентификатора и операции в егоближайшем объемлющем ‘разрешающем контексте’.

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

Тип файла
PDF-файл
Размер
827,51 Kb
Тип материала
Высшее учебное заведение

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

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