Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » Методическое пособие для выполнения лабораторных работ и КР

Методическое пособие для выполнения лабораторных работ и КР, страница 8

PDF-файл Методическое пособие для выполнения лабораторных работ и КР, страница 8 Системное программирование (17500): Книга - 4 семестрМетодическое пособие для выполнения лабораторных работ и КР: Системное программирование - PDF, страница 8 (17500) - СтудИзба2018-01-09СтудИзба

Описание файла

PDF-файл из архива "Методическое пособие для выполнения лабораторных работ и КР", который расположен в категории "". Всё это находится в предмете "системное программирование" из 4 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "системное программирование" в общих файлах.

Просмотр PDF-файла онлайн

Текст 8 страницы из PDF

Формальное описание синтаксиса в БНФВо многих учебниках, пособиях, электронных справочниках и документации Выможете встретить формальное описание синтаксиса языков программирования и правилзапуска программ. Такое описание необходимо для однозначного понимания правил записи операторов и команд, исключения ошибок и, в конечном счете, снижения сроков освоения языков и написания программ. Существует много различных языков формальногоописания других, извините за тавтологию, формальных языков, в частности языков программирования.

Они делятся на две группы: текстовые и графические. В графическихязыках используются специальные диаграммы и правила их построения (пример графического языка для описания Ассемблера Вы найдете в учебнике Юрова).Более четкое описание можно получить на основе текстовых формальных языков.Одним из примеров распространенных языков формального описания является БНФ.Данная аббревиатура имеет две расшифровки: Бекуса Нормальная Форма (более ранняя) иБекуса Наура Форма (более поздняя).

Разные названия связаны с тем, что второй автор(Наур) внес уточнения в первоначальные правила. В этом пособии мы рассмотрим основные правила применения БНФ для оформления документации ЛР и изучения Ассемблера.4.1. Назначение и состав языка БНФЯзык БНФ является распространенным языком описания формализованных конструкций других языков. Такие языки называют также метаязыками. Можно дать математическое описание этого языка на основе теории множеств и теории формальных языков, ноздесь мы остановимся на более простом смысловом и текстовом его описании.

Язык БНФвключает в себя следующие основные элементы и понятия:− Понятие терминального символа и множества терминальных символов. Под терминальным символом понимается такой элемент описания, который буквальновходить в синтаксические конструкции (предложения) языка. Эти символы не могут быть раскрыты далее в виде правил. Примером терминальных символов могутслужить: знаки операций (“+” , “-“ и т.д.), ключевые слова языка ( for, loop, case идр.) и служебные символы (“=”, “;” и т.д.). Отметим, что любое правило должнобыть раскрыто (порождать), в конечном счете, цепочку терминальных символов.− Понятие нетерминального символа и множества нетерминальных символов.

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

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

Предполагается, что существует некоторое первоначальное прави-2010 год 2 курс 4-й семестр Большаков С.А.“Системное программирование”33ло, с которого должно проводиться описание грамматики и, что более важно,грамматический разбор конкретной конструкции.− Множество метасимволов языка БНФ, которые используются для записи правилграмматики описываемого формального языка. Это символы: ”:=”, “<”,“>” , “|”, “[”, “]”, “{”, “}”, “…”. Более подробно о назначении метасимволов мы поясним ниже.Отметим также, что некоторые символы (а именно, “[” , “]”, “{”, “}”, “…”) входятв расширенный вариант БНФ и не являются обязательными.4.2.

Правила, нетерминальные переменные и метасимволыНетерминальный символ на языке БНФ записывается следующим образом: в угловые кавычки (<…>) помещается произвольный текст, который используется для обозначения понятия языка. Нетерминальный символ и его обозначение должны быть уникальными в пределах описываемой грамматики, то есть не повторяться. Примерами нетерминальных символов могут служить следующие понятия:<Переменная> - понятие, описывающее переменную в программе,<Оператор> - понятие, описывающее оператор в языке программирования.Правило грамматики записывается в следующем виде (правила похожи на операторы присваивания, но нельзя их путать):<Нетерминальный символ>:= <Выражение на основе терминальных символов, метасимволов и нетерминальных символов>Для пояснения самого языка БНФ нам приходиться использовать также язык БНФ.В левой части правила должен быть расположен только один нетерминальный символ.Выражение является комбинацией терминальных и нетерминальных символов, а такжеметасимвола ”|”, который позволяет упростить написание правил и, в конечном счете, неявляется обязательным.

Так, например, два правила вида (где, НС – нетерминальный символ):<НС1>:= <НС2> и<НС1>:= <НС3> можно объединить в правило вида:<НС1>:= <НС2> | <НС3> , где НС1 ÷ НС3 нетерминальные символы.Правила на языке БДН могут быть рекурсивными, это означает, что один и тот женетерминальный символ, задаваемый правилом, может присутствовать в правом выражении этого же правила. Например:<НС1>:= <НС2> | <НС2> <НС1>В выражении правил могут располагаться терминальные символы (ТС). Они могутрасполагаться в любом порядке.

Например:<НС1>:= ТС1 <НС2> ТС2 ТС3 <НС3> ТС4При описании конструкций на языке Ассемблера возникает проблема с использованием угловых скобок, так как они являются также терминальными символами языка. Вэтом случае, либо делается словесное пояснение, либо эти символы выделяются жирнымшрифтом, либо заключаются в круглые кавычки “(“ - ”)”. Например:<Описание записи>:= <Имя записи> <Шаблон записи> (<)<Инициализация записи>(>)Заключенные в круглые скобки символы рассматриваются как терминальные символы языка. Для упрощения записи правил могут дополнительно использоваться квадратные скобки - “[” , “]”.

Применение их означает, что заключенное в них подвыражение может отсутствовать. Например, правил вида:<НС1>:= <НС2> [<НС1>]Заменяет более сложное правило вида:<НС1>:= <НС2> | <НС2> <НС1>При перечислении повторов можно также использовать и фигурные скобки метасимволы - “{”, “}”, если это не усложняет запись правила. Так, например, правило вида:2010 год 2 курс 4-й семестр Большаков С.А.“Системное программирование”34<НС1>:= {<НС2> , } …Означает сокращенную форму записи правила вида:<НС1>:= <НС2> | <НС2> , <НС2> | <НС2> , <НС2> , <НС2> и так далее.Если обратиться к строгой записи на языке БНФ, то использование круглых и фигурных скобок можно исключить. В документациях на многое программные продукты Вынайдете описания на этом языке, включая и расширенное его толкование.При формальном описании на языке БНФ необходимо помимо формальных правилдавать текстовые пояснения основных понятий – нетерминальных символов.

Это выполняется в текстовом режиме.4.3. Примеры описания на БНФРассмотрим несколько примеров описаний на языке БНФ.Пример 1. Описание в БНФ синтаксиса целого числа со знаком:<целое число со знаком>:= <целое число> | + <целое число> | - <целоечисло><целое число>:= <цифра> | <цифра> <целое число><цифра>:= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9Таким синтаксическим правилам соответствуют числа: +15, -35, 01, 12345678788 ит.д. Отметим, что для написания программ, недостаточно одних синтаксических правил,нужно еще дополнительное семантическое (понятийное или смысловое) описание языка(семантические правила). Даже в этом простом примере нужно указать максимальноечисло знаков целой константы, которое допустимо в конкретной системе программирования.

Если данная константа соответствует типу int, то для записи ее можно указать только5 значащих цифр (2∧16 = 65536).В нашем примере нетерминальными символами являются: <целое число со знаком>, <целое число> и <цифра>. Терминальными символами являются: “+”, “-”,“0”,“1”,“2”,“3”,“4”,“5”,“6”,“7”,“8”,“9”.Отметим также, что один и тот же синтаксис может быть описан разными способами. Так первое правило может быть описано так:<целое число со знаком>:= <знак> <целое число>< знак >:= <пусто> | + | Где <пусто> часто используемый для описания правил нетерминальный (фактически терминальный) символ, означающий пустую строку (отметим – не пробел, которыйявляется значащим терминальным символом. Если при описании правил требуется указать терминальный символ –пробел, то его обозначают специальным символом, например,– “_”).Пример 2.

Инструкция командной строки для запуска программ.<запуск программы>:= <имя программы> _ <список параметров программы><имя программы>:= progr.exe | progr<список параметров программы>:= <Параметр 1>[_< Параметр 2 >] [_< Параметр 3 >]<Параметр 1>:= <Имя файла><Параметр 2>:= /L<Параметр 3>:= /P:<Пароль>Отметим, что и здесь необходимо пояснить смысловое (семантика правил) значениеправил синтаксиса.

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