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

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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

{then a := a xor a ;⊥к|⊥н if E or E and a |12 12} ÷ с

{then a := a xor a ;⊥к|⊥н if E or E and E |12 12 12} ÷ с

{then a := a xor a ;⊥к|⊥н if E or E |12 12 12 10} ÷ с

{then a := a xor a ;⊥к|⊥н if E |12 12 12 10 7} ÷ п

{ a := a xor a ;⊥к|⊥н if E then|12 12 12 10 7} ч п

{:= a xor a ;⊥к|⊥н if E then a |12 12 12 10 7} ч п

{ a xor a ;⊥к|⊥н if E then a :=|12 12 12 10 7} ч п

{xor a ;⊥к|⊥н if E then a := a |12 12 12 10 7} ч с

{xor a ;⊥к|⊥н if E then a := E |12 12 12 10 7 12} ч п

{ a ;⊥к|⊥н if E then a := E xor|12 12 12 10 7 12} ч п

{;⊥к|⊥н if E then a := E xor a |12 12 12 10 7 12} ч с

{;⊥к|⊥н if E then a:= E xor E |12 12 12 10 7 12} ÷ с

{;⊥к|⊥н if E then a := E|12 12 12 10 7 12 12 8} ÷ с

{;⊥к|⊥н if E then E |12 12 12 10 7 12 12 8 4} ÷ с

{;⊥к|⊥н E |12 12 12 10 7 12 12 8 4 3} ÷ п

{⊥к|⊥н E ;|12 12 12 10 7 12 12 8 4 3} ÷ с

{⊥к| E ⊥н |12 12 12 10 7 12 12 8 4 3 1}– разбор закончен, МП-автомат перешел в конечную конфигурацию, цепочка принята.

В результате получим последовательность правил: 12 12 12 107 12 12843 1. Этой последовательности правил будет соответствовать цепочка вывода на основе остовной грамматики С:

E →1 E ; →3 if E then E ; →4 if E then a := E ; →8 if E then a := E xor E ; →12 if E then a := E xor a ; →12 if E then a := a xor a ; →7 if E or E then a:= a xor a ; →10 if E or E and E then a := a xor a ; →12 if E or E and a then a := a xor a ; →12 if E or a and a then a := a xor a ; →12 if a or a and a then a := a xor a ;

Стоит обратить внимание, что, так как данный МП-автомат строит правосторонний вывод, в цепочке вывода на каждом шаге правило всегда применяется к крайнему правому нетерминальному символу в цепочке.

Дерево синтаксического разбора, соответствующее данной входной цепочке, приведено на рис. 3.2.

Рис 32 Дерево синтаксического разбора входной цепочки if a or a and a then - фото 64

Рис. 3.2. Дерево синтаксического разбора входной цепочки «if a or a and a then а:= а хог а;».

Пример 2

Возьмем входную цепочку «if {a or b then а:= 25;».

После выполнения лексического анализа, если все лексемы типа «идентификатор» и «константа» обозначить как «а», получим цепочку: «if (a or a then а:= а».

Рассмотрим процесс синтаксического анализа этой входной цепочки:

{if ( a or a then a := a ;⊥к|⊥н |λ} ÷ п

{( a or a then a := a ;⊥к|⊥н if|λ} ÷ п

{ a or a then a := a ;⊥к|⊥н if(|λ} ÷ п

{or a then a := a ;⊥к|⊥н if(a|λ} ÷ с

{or a then a := a ;⊥к|⊥н if(E|12} ÷ п

{ a then a := a ;⊥к|⊥н if( E or|12} ÷ п

{then a := a ;⊥к|⊥н if( E or a |12} ÷ с

{then a := a ;⊥к|⊥н if( E or E |12 12} ÷ с

{then a := a ;⊥к|⊥н if( E |12 12 7} – нет отношения предшествования между лексемами «(» и «then», разбор закончен, МП-автомат не перешел в конечную конфигурацию, цепочка не принята (выдается сообщение об ошибке).

Реализация синтаксического распознавателя

Разбиение на модули

В лабораторной работе № 3, так же, как и в лабораторной работе № 2, модули, реализующие синтаксический анализатор разделены на две группы:

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

• модули, программный код которых зависит от входного языка.

В первую группу входят модули:

• SyntSymb – описывает структуры данных для синтаксического анализа и реализует алгоритм «сдвиг-свертка» для грамматик операторного предшествования;

• FormLab3 – описывает интерфейс с пользователем.

Во вторую группу входит один модуль:

• SyntRulе – содержит описания матрицы операторного предшествования и правил исходной грамматики.

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

Кроме этих модулей для реализации лабораторной работы № 3 используются программные модули TblElem и FncTree, позволяющие работать с комбинированной таблицей идентификаторов, которые были созданы при выполнении лабораторной работы № 1, а также модули LexType, LexElem, и LexAuto, которые обеспечивают работу лексического распознавателя (эти модули были созданы при выполнении лабораторной работы № 2).

Кратко опишем содержание программных модулей, используемых для организации синтаксического анализатора.

Модуль описания матрицы предшествования и правил грамматики

Модуль SyntRulе содержит структуры данных, которые описывают матрицу операторного предшествования и правила остовной грамматики.

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

Интервал:

Закладка:

Сделать

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

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


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

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

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