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

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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

• входная программа начинается ключевым словом prog (program) и заканчивается ключевым словом end.;

• входная программа может быть разбита на строки произвольным образом, все пробелы и переводы строки должны игнорироваться компилятором;

• текст входной программы может содержать комментарии любой длины, которые должны игнорироваться компилятором (вид комментария задан в варианте задания);

• входная программа должна представлять собой единый модуль, содержащий линейную последовательность операторов, вызовы процедур и функций не предусматриваются;

• должны быть предусмотрены следующие варианты операторов входной программы:

– оператор присваивания вида <���переменная>:=<���выражение>;

– условный оператор вида if <���выражение> then <���оператор> либо if <���выражение> then <���оператор> else <���оператор>;

– составной оператор вида begin… end;

– оператор цикла, предусмотренный вариантом задания;

• выражения в операторах могут содержать следующие операции (минимум):

– арифметические операции сложения (+) и вычитания (-);

– операции сравнения «меньше» (<), «больше» (>), «равно» (=);

– логические операции И (and), ИЛИ (or), НЕ (not);

– дополнительные арифметические операции, предусмотренные вариантом задания;

• операндами в выражениях могут выступать идентификаторы (переменные) и константы (тип допустимых констант указан в варианте задания);

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

• должны учитываться два предопределенных идентификатора InpVar и Compi 1 eTest, смысл которых будет ясен из приводимого далее описания выходного языка.

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

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

Компилятор должен проверять следующие семантические ограничения входного языка:

• не допускается присвоение значений константам;

• не допускается присвоение значения идентификатору InpVar;

• не допускается использовать идентификатор Compi 1 eTest, иначе как для присвоения ему значений.

В качестве выходного (результирующего) языка должен использоваться язык ассемблера процессоров типа Intel 80x86 в модификации встроенного языка ассемблера компилятора Pascal производства фирмы Borland.

Результирующая программа должна иметь следующий вид:

Prog <���Имя_программы>;

{Имя программы выбирается исполнителем самостоятельно}

Var InpVar: <���Тип_данных>;

{Тип данных указан в варианте задания}

Var <���Список_переменных>: <���Тип_данных>;

{Список переменных должен содержать перечень

всех переменных из исходной программы}

Function CompileTest(InpVar: <���Тип_данных>): <���Тип_данных>;

{Переменные CompileTest и InpVar являются предопределенными

в тексте исходной программы}

Begin

Asm

{Сюда должен быть включен текст результирующей программы,

порожденный компилятором}

end;

end;

begin

readln(InpVar);

writeln(CompileTest(InpVar));

end.

Всю неизменную часть результирующей программы компилятор должен порождать самостоятельно вне зависимости от поданной на вход исходной программы.

Имя результирующей программы исполнитель выбирает самостоятельно. Идентификаторы InpVar и CompileTest являются предопределенными переменными, которые используются для подачи значений на вход результирующей программы и получения результата от нее при тестировании работоспособности результирующей программы.

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

Интервал:

Закладка:

Сделать

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

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


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

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

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