Алексей Молчанов - Системное программное обеспечение. Лабораторный практикум

Здесь есть возможность читать онлайн «Алексей Молчанов - Системное программное обеспечение. Лабораторный практикум» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Санкт-Петербург, Год выпуска: 2005, ISBN: 2005, Издательство: Array Издательство «Питер», Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Системное программное обеспечение. Лабораторный практикум: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Системное программное обеспечение. Лабораторный практикум»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

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

Системное программное обеспечение. Лабораторный практикум — читать онлайн ознакомительный отрывок

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Системное программное обеспечение. Лабораторный практикум», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

1. Получить вариант задания у преподавателя.

2. Изучить алгоритм генерации объектного кода по дереву синтаксического разбора.

3. Разработать схемы СУ-перевода для операций исходного языка в соответствии с заданной грамматикой.

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

5. Изучить и реализовать (если требуется) для заданного входного языка алгоритмы оптимизации результирующего кода методом свертки и методом исключения лишних операций.

6. Разработать алгоритм преобразования последовательности триад в заданный объектный код (по согласованию с преподавателем).

7. Подготовить и защитить отчет.

8. Написать и отладить программу на ЭВМ.

9. Сдать работающую программу преподавателю.

Требования к оформлению отчета

Отчет должен содержать следующие разделы:

• Задание по лабораторной работе.

• Краткое изложение цели работы.

• Запись заданной грамматики входного языка в форме Бэкуса—Наура.

• Описание схем СУ-перевода для операций исходного языка в соответствии с заданной грамматикой.

• Пример генерации и оптимизации последовательности триад на основе простейшей исходной программы.

• Текст программы (оформляется после выполнения программы на ЭВМ).

Основные контрольные вопросы

• Что такое транслятор, компилятор и интерпретатор? Расскажите об общей структуре компилятора.

• Как строится дерево вывода (синтаксического разбора)? Какие исходные данные необходимы для его построения?

• Какую роль выполняет генерация объектного кода? Какие данные необходимы компилятору для генерации объектного кода? Какие действия выполняет компилятор перед генерацией?

• Объясните, почему генерация объектного кода выполняется компилятором по отдельным синтаксическим конструкциям, а не для всей исходной программы в целом.

• Расскажите, что такое синтаксически управляемый перевод.

• Объясните работу алгоритма генерации последовательности триад по дереву синтаксического разбора на своем примере.

• За счет чего обеспечивается возможность генерации кода на разных объектных языках по одному и тому же дереву?

• Дайте определение понятию оптимизации программы. Для чего используется оптимизация? Каким условиям должна удовлетворять оптимизация?

• Объясните, почему генерацию программы приходится проводить в два этапа: генерация и оптимизация.

• Какие существуют методы оптимизации объектного кода?

• Что такое триады и для чего они используются? Какие еще существуют методы для представления объектных команд?

• Объясните работу алгоритма свертки. Приведите пример выполнения свертки объектного кода.

• Что такое лишняя операция? Что такое число зависимости?

• Объясните работу алгоритма исключения лишних операций. Приведите пример исключения лишних операций.

Варианты заданий

Варианты заданий соответствуют вариантам заданий для лабораторной работы № 3. Для выполнения работы рекомендуется использовать результаты, полученные в ходе выполнения лабораторных работ № 2 и 3.

Пример выполнения работы

Задание для примера

В качестве задания для примера возьмем язык, заданный КС-грамматикой G({if,then,else,a,=,or,xor,and,(,),},{S,F,_£,£), C},P,S) с правилами Р:

S → F;

F → if-then T else F | if E then F | a:= E

T → if-then T else T | a:= E

E → E or D | E xor D | D

D → D and С | С

С → a | (E)

Жирным шрифтом в грамматике и в правилах выделены терминальные символы.

Этот язык уже был использован для иллюстрации выполнения лабораторных работ № 2 и № 3.

Результатом примера выполнения лабораторной работы № 4 будет генератор списка триад. Преобразование списка триад в ассемблерный код рассмотрено далее в примере выполнения курсовой работы (см. главу «Курсовая работа»).

Построение схем СУ-перевода

Все операции, которые могут присутствовать во входной программе на языке, заданном грамматикой G, по смыслу (семантике) можно разделить на следующие группы:

• логические операции (or, xor и and);

• оператор присваивания;

• полный условный оператор (if…then… else…) и неполный условный оператор (if… then…);

• операции, не несущие смысловой нагрузки, а служащие только для создания синтаксических конструкций исходной программы (в данном языке таких операций две: круглые скобки и точка с запятой).

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Системное программное обеспечение. Лабораторный практикум»

Представляем Вашему вниманию похожие книги на «Системное программное обеспечение. Лабораторный практикум» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Системное программное обеспечение. Лабораторный практикум»

Обсуждение, отзывы о книге «Системное программное обеспечение. Лабораторный практикум» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

Хатын 10 марта 2023 в 07:44
Я хочу читать книги
x