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

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

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

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

Предлагаемым для вывода значением являетсязначение, возвращаемое выражением value_expr. Выражение output_exprвозвращает Unit значение в случае, если предложение произвести выводсовпадет с параллельным предложением произвести ввод по тому же каналу.6.23. Составные выражения (Structured Expressions)Синтаксис.structured_expr ::=local_expr ⏐let_expr ⏐if_expr ⏐case_expr ⏐while_expr ⏐until_expr ⏐for_expr6.23.1. Локальные выражения (Local Expressions)Синтаксис.local_expr ::=local opt-decl-string in value_expr endКонтекст и правила видимости. Контекстом объявления opt-decl-stringявляется само это объявление opt-decl-string и выражение value_expr.

Это71означает, что порядок определений в объявлении opt-decl-stringнесущественен.Контекстные условия. Входящие в локальное выражение объявления declдолжны быть совместимы.Максимальный тип выражения value_expr не должен включать в себяабстрактные типы, переменные и каналы, определенные в объявлениях decl.Атрибуты.

Максимальным типом локального выражения local_expr являетсямаксимальный тип содержащегося в нем выражения value_expr.Локальное выражение local_expr статически производит доступ к темнелокальным переменным и каналам (т.е. к переменным и каналам, неопределяемым в объявлении opt-decl-string), к которым статическиобращается входящее в его состав выражение value_expr.Семантика.

Результирующим воздействием локального выраженияlocal_expr является результирующее воздействие содержащегося в немвыражения value_expr, вычисленного в контексте определений, заданных вобъявлениях decl. Данное выражение value_expr вычисляется в каждоймодели, удовлетворяющей указанным определениям, и затем производитсянедетерминированный выбор между результирующими воздействиями этихвычислений.В конце вычисления выражения value_expr любое ожидающее обработкивзаимодействие по каналу, объявленному в объявлении opt-decl-string,замещается на stop.6.23.2. Let-выражения (Let Expressions)Синтаксис.let_expr ::=let let_def-list in value_expr endlet_def ::=typing ⏐explicit_let ⏐implicit_letexplicit_let ::=let_binding = value_exprimplicit_let ::=single_typing restrictionlet_binding ::=binding ⏐record_pattern ⏐list_patternКонтекстно-независимые расширения.

Выражение let_expr, содержащее всебе более одного определения let_def, является сокращенной формой записи72для некоторого числа вложенных let-выраженийопределением. То есть выражение let_expr вида:сединственнымlet let_def1, …, let_defn in value_expr endявляется сокращенной формой записи следующего выражения:let let_def1 in••••••let let_defn in value_expr endendКонтекст и правила видимости. В выражении let_expr вида:let let_def in value_expr endконтекстом определения let_def является выражение value_expr.Атрибуты.Максимальнымтипомвыраженияlet_exprявляетсямаксимальный тип содержащегося в нем выражения value_expr.В явном определении explicit_let максимальным контекстным типомконструкции let_binding является максимальный тип выражения value_expr.Выражение let_expr статически производит доступ к тем переменным иканалам, к которым статически обращаются входящие в его составопределения let_def и выражение value_expr.Указание типа typing не обращается статически ни к каким переменным иликаналам.Явное определение explicit_let статически производит доступ к темпеременным и каналам, к которым статически обращается входящее в егосостав выражение value_expr.Неявное определение implicit_let статически производит доступ к темпеременным и каналам, к которым статически обращается входящее в егосостав ограничение restriction.Семантика.

Выражение let_expr, содержащее одно определение let_def иимеющее вид:let let_def in value_expr endвычисляется следующим образом. Определение let_def представляетнекоторое множество моделей, как описано ниже. Указанное выражениеvalue_expr вычисляется в каждой такой модели и между результирующимиэффектами этих вычислений производится недетерминированный выбор.Различаются три вида определений let_def:• определение let_def в форме указания типа typing представляетмножество моделей, которые удовлетворяют определениям, заданныхуказанием типа typing;• определение let_def в неявной форме implicit_let представляет некотороеподмножество моделей, которые удовлетворяют определениям,73заданных указанием типа single_typing: тех из них, где выполняетсяограничение restriction;• определение let_def в явной форме explicit_let представляет множествомоделей, получаемое следующим образом.

Выражение value_exprвычисляется, и затем возвращаемое им значение сопоставляется сосвязыванием let_binding. Если данное значение соответствуетсвязыванию let_binding, результатом является некоторый наборопределений и искомое множество моделей содержит единственнуюмодель, удовлетворяющую этим определениям. Если же, напротив,данное значение не соответствует связыванию let_binding, то искомоемножество моделей пусто.6.23.3.

If- выражения (If Expressions)Синтаксис.if_expr ::=if logical-value_expr thenvalue_expropt-elsif_branch-stringopt-else_branchendelsif_branch ::=elsif logical-value_expr then value_exprelse_branch ::=else value_exprКонтекстно-независимые расширения. If-выражение if_expr, содержащееветви elsif_branch, представляет собой сокращенную форму записинекоторого числа вложенных if-выражений if_expr без ветвей elsif_branch.Выражение if_expr вида:if value_expr1 then value_expr1′elsif value_expr2 then value_expr2′•••elsif value_exprn then value_exprn′opt-else_branchendявляется сокращенной формой записи выражения:if value_expr1 then value_expr1′ elseif value_expr2 then value_expr2′ else••••••if value_exprn then value_exprn′ opt-else_branch endendend74Выражение if_expr вида:if value_expr1 then value_expr2 endявляется краткой записью выражения:if value_expr1 then value_expr2 else skip endКонтекстные условия.

В выражении if_expr вида:if value_expr1 then value_expr2 else value_expr3 endмаксимальным типом выражения value_expr1 должен быть тип Bool имаксимальные типы выражений value_expr2 и value_expr3 должны иметьнаименьшую верхнюю границу.Атрибуты. Для if-выражения вида:if value_expr1 then value_expr2 else value_expr3 endатрибуты определяются следующим образом. Максимальным типомуказанного выражения является наименьшая верхняя граница максимальныхтипов выражений value_expr2 и value_expr3.Рассматриваемое выражение if_expr статически обращается к темпеременным и каналам, к которым статически обращаются выраженияvalue_expr1, value_expr2 и value_expr3.Семантика.

Результирующее воздействие выражения if_expr состоит в том,чтобы определить применимую альтернативу и получить эффект от ееприменения. Выражение if_expr вида:if value_expr1 then value_expr2 else value_expr3 endвычисляется путем вычисления выражения value_expr1, которое возвращаетнекоторое булевское значение — тестовое значение. Если полученноетестовое значение равно true, вычисляется выражение value_expr2. Впротивном случае (значение тестового выражения равно false) вычисляетсявыражение value_expr3.6.23.4. Case-выражения (Case Expressions)Синтаксис.case_expr ::=case value_expr of case_branch-list endcase_branch ::=pattern → value_exprКонтекст и правила видимости.

В ветви case_branch контекстом образцаpattern является выражение value_expr.Контекстные условия. В выражении case_expr максимальные типывыражений value_expr, содержащихся в ветвях case_branch, должны иметьнаименьшую верхнюю границу.75Атрибуты. Максимальным типом case-выражения case_expr являетсянаименьшая верхняя граница максимальных типов выражений value_expr всоответствующих ветвях case_branch.В выражении case_expr максимальным контекстным типом образцов pattern вветвях case_branch является максимальный тип выражения value_expr.Выражение case_expr статически производит доступ к тем переменным иканалам, к которым статически обращаются содержащиеся в нем выражениеvalue_expr и ветви case_branch.Ветвь case_branch статически производит доступ к тем переменным иканалам, к которым статически обращается входящее в ее состав выражениеvalue_expr.Семантика.

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

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

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

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