Денотационная семантика
Денотационная семантика – это формальная аппликативная модель для описания языков программирования. Основной концепцией денотационной семантики является определение для каждой сущности языка некоторого математического объекта и некоторой функции, отображающей экземпляры этой сущности в экземпляры этого объекта. Рассмотрим использование денотационной семантики на примере определения двоичных чисел. Синтаксис двоичных чисел можно описать следующими БНФ: <двоичное число> ::= 0| 1| <двоичное число> 0| <двоичное число> 1 Объектами в данном примере являются десятичные числа. Для описания двоичного числа с использованием денотационной семантики и приведенных ранее синтаксических правил его фактическое значение связывается с каждым правилом, содержащим в своей правой части один основной символ определяемого языка. При этом значащие объекты (числа 0 и 1) должны связываться с первыми двумя правилами, а другие два правила являются, по существу, правилами вычислений, поскольку они объединяют основной символ языка (0 или 1), с которым может ассоциироваться объект, с металингвистической переменной, которая представляет собой некоторую синтаксическую конструкцию. Пусть область определения семантических значений объектов представляет собой множество неотрицательных десятичных целых чисел N. Эти объекты могут быть связаны с двоичными числами с помощью функции М, которая отображает синтаксические объекты в объекты множества N. Функция М может быть определена следующим образом: М(0) = О М(\) = 1 М(<двоичное число>0) = 2 ´ M(<двоичное число>) M(<двоичное число>1) = 2 ´ M(<двоичное число>) + 1
1.Опишите синтаксис раздела описаний переменных и массивов типа real, integer и char языка Pascal. 2.Разработайте описание синтаксиса условного оператора if языка Pascal. Условия в этом операторе задаются логическими выражениями, составленными из простых переменных булевского типа и логических операций И, ИЛИ, НЕ, а в качестве операторов можно использовать только операторы присваивания, правой частью которых являются логические выражения. Приоритет операций обычный. 3.Задайте синтаксис оператора цикла for языка Pascal. В качестве операторов в теле цикла можно использовать только операторы присваивания, правой частью которых являются арифметические выражения, составленные из простых переменных и констант целого типа, круглых скобок и знаков арифметических операций: сложения, вычитания, умножения и деления. Приоритет операций обычный. 4.Опишите синтаксис оператора цикла while некоторого подмножества языка Pascal. Условия в этом операторе задаются с помощью отношений, а в качестве операторов в теле цикла можно использовать только операторы присваивания, правой частью которых являются арифметические выражения, составленные из простых переменных и констант вещественного типа, круглых скобок и знаков арифметических операций: сложения, вычитания, умножения и деления. Приоритет операций обычный. 5.Определите синтаксис оператора цикла repeatязыка Pascal. Условия в этом операторе задаются логическими выражениями, составленными из простых переменных булевского типа и логических операций И, ИЛИ, НЕ, а в качестве операторов в теле цикла можно использовать только операторы присваивания, правой частью которых являются логические выражения. Приоритет логических операций обычный. 6.Задайте синтаксис раздела описаний переменных и массивов типа double, int и char языка С. 7.Определите синтаксис условного оператора ifязыка С, в котором условия задаются с помощью отношений, а в качестве операторов, выполняемых в зависимости от значений условий, можно использовать только операторы присваивания. Правой частью операторов присваивания являются арифметические выражения, составленные из простых переменных и констант целого типа, круглых скобок и знаков арифметических операций: сложения, вычитания, умножения и деления. Приоритет операций обычный. 8.Опишите синтаксис условного оператора присваивания языка С. В правой части такого оператора для задания условий следует использовать отношения и арифметические выражения целого типа, составленные из простых переменных и констант целого типа, круглых скобок и знаков арифметических операций: сложения, вычитания, умножения и деления. Приоритет операций обычный. 9.Разработайте описание синтаксиса оператора цикла forязыка С. В качестве операторов в теле цикла можно использовать только операторы присваивания, правой частью которых являются арифметические выражения целого типа, составленные из простых переменных и констант целого типа, круглых скобок и знаков арифметических операций: сложения, вычитания, умножения и деления. Приоритет операций обычный. 10. Определите синтаксис описания структур и переменных структурного типа в языке С. 11. Опишите синтаксис оператора цикла whileнекоторого подмножества языка С. Условия в этом операторе задаются с помощью отношений, а в качестве операторов в теле цикла можно использовать только операторы присваивания, правой частью которых являются арифметические выражения, составленные из простых переменных и констант целого типа, круглых скобок и знаков арифметических операций: сложения, вычитания, умножения и деления. Приоритет операций обычный. 12. Задайте синтаксис оператора цикла do... whileязыка С. Условия в этом операторе представляют собой логические выражения, составленные из простых переменных булевского типа и логических операций И, ИЛИ, НЕ, а в качестве операторов в теле цикла можно использовать только операторы присваивания, правой частью которых являются логические выражения. Приоритет операций обычный. 13.Определите синтаксис задания перечислимого типа и описания переменных перечислимого типа в языке Pascal. 14.Опишите синтаксис оператора варианта caseязыка Pascal. В качестве операторов, среди которых производится выбор для исполнения, используйте только операторы присваивания, правой частью которых являются арифметические выражения, составленные из простых переменных и констант целого типа, круглых скобок и знаков арифметических операций: сложения, вычитания, умножения и деления. Приоритет операций обычный. 15.Задайте описание синтаксиса оператора цикла repeatязыка Pascal. Условия в этом операторе задаются с помощью отношений, а в качестве операторов в теле цикла можно использовать только операторы присваивания. Правой частью операторов присваивания являются арифметические выражения, составленные из простых переменных и констант целого типа, круглых скобок и знаков арифметических операций: сложения, вычитания, умножения и деления. Приоритет операций обычный. 16.Определите синтаксис условного оператора if языка Pascal, в котором условия задаются с помощью отношений, а в качестве операторов, выполняемых в зависимости от значений условий, можно использовать только операторы присваивания, правой частью которых являются арифметические выражения, составленные из простых переменных и констант целого типа, круглых скобок и знаков арифметических операций: сложения, вычитания, умножения и деления. Приоритет операций обычный. 17.Задайте синтаксис определения регулярного типа и описания переменных с индексами в языке Pascal. 18.Задайте синтаксис определения строкового типа и описания строк в языке Pascal. 19.Разработайте определение синтаксиса описания процедур в языке Pascal, при этом операторы, составляющие тело процедуры, описывать не нужно. 20.Определите синтаксис описания комбинированного типа и переменных комбинированного типа в языке Pascal. 21.Задайте синтаксис описания перечислимого типа и переменных перечислимого типа в языке С. 22.Опишите синтаксис оператора условного ветвления switchязыка С. В качестве операторов, подлежащих исполнению при совпадении выражения с case-константой, можно использовать только операторы присваивания, правой частью которых являются арифметические выражения, составленные из простых переменных и констант целого типа, круглых скобок и знаков арифметических операций: сложения, вычитания, умножения и деления. Приоритет операций обычный.
Популярное: Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение... Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ... Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (2195)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |