Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по ЛРС_Теория вычислительных процессо...doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
315.39 Кб
Скачать
    1. Сдать отчет по работе.

  1. Содержание отчета:

    1. Наименование работы.

    2. Цель работы.

    3. Описание высказывания, построенного по таблице истинности.

    4. Схема устройства в виде черного ящика

    5. Таблица с указанием значений x1, x2, x3, y по результатам работы устройства.

    6. Построить диаграмму работы устройства по логике высказывания.

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

  2. Контрольные вопросы:

    1. Что называется высказыванием?

    2. Как реализуется обработчик аналитического выражения?

    3. Какие операции используются в механизме работы аналитического устройства?

    4. Какие символы используются при построении таблицы истинности?

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

Лабораторная работа 4 Методы нисходящего анализа

  1. Цель работы:

    1. Изучение принципов нисходящего анализа

    2. Реализация метода нисходящего анализа

  1. Литература:

    1. Молчанов А.Ю. Системное программное обеспечение. – СПб.: Питер, 2006. – 395с.

    2. Свердлов С.З. Языки программирования и методы трансляции. – СПб.: Питер, 2007. – 637с.

    3. Тонаненбаум Э. Компьютерные сети. – СПб.: Питер, 2008 – 991с.

    4. Сырецкий Г.А. Информатика. Фундаментальный курс. Том 1, 2. – Москва, 2005- 234с.

    5. Душин В.К. Теория основных информационных процессов и систем. – Москва, 2009 – 348 с.

    6. Русская компьютерная библиотека. URL: http://www.rusdoc.ru

  2. Основное оборудование:

    1. ПЭВМ.

    2. Среда разработки Паскаль, С++, Delphi 7.

  3. Задание:

    1. Изучить теоретический материал по теме «Методы синтаксического анализа языка».

    2. Выполнить задания.

    3. Составить отчет по работе.

  4. Порядок выполнения работы:

    1. Запустить среду разработки.

    2. Выполнить следующие задания:

Задача разбора. Разбор сентенциальной формы означает построение вывода и, возможно синтаксического дерева для нее. Программу разбора называют также распознавателем, так как она распознает только предложения рассматриваемой грамматики.

Все алгоритмы разбора, которые будут здесь описаны, называются алгоритмами слева направо ввиду того, что они обрабатывают сначала самые левые символы обрабатываемой цепочки и продвигаются по цепочке только тогда, когда это необходимо. Можно подобным способом определить разбор справа налево, но он менее естественен. Инструкции в программе выполняются слева направо. Различают две категории алгоритмов разбора: нисходящий (сверху вниз) и восходящий (снизу вверх). Их называют также разверткой и сверткой.(В данном реферате будет рассмотрен процесс только нисходящего разбора. ) Соответственно, эти термины соответствуют и способу построения синтаксического дерева. При нисходящем разборе дерево строится от корня ( начального символа ) вниз к концевым узлам.

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

N ::= D | ND D ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 (1)

На первом шаге непосредственный вывод N => ND будет строиться так, как показано в первом дереве на рис. 1. На каждом последующем шаге самый левый не терминал V текущей сентенциальной формы xVy заменяется на правую часть u правила V ::= u, в результате чего получается следующая сентенциальная форма. Этот процесс для предложения (1) представлен на рис. 1. в виде пяти деревьев. Важно то, что надо получить ту сентенциальную форму, которая совпадает с заданной цепочкой.

N N N N N

| | | |

*-------* *-------* *-------* *-------*

| | | | | | | |

N D N D N D N D

| | | |

D D D 5

| |

3 3

N => N D => D D => 3 D => 3 5

Рисунок 1. Нисходящий разбор и построение вывода

Задание

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

  1. EE+E|E – E|E*E|E/E|a|b|c|(E)

  2. EE+X|E/X|E/E|a|b|c|(E)

  3. EX|E+X|E-X|E*X|E/X

Xa|b|c|(E)

Написать программу, реализующую метод нисходящего разбора и применить указанные выше грамматики, вывести их схему.

  1. Содержание отчета:

    1. Наименование работы.

    2. Цель работы.

    3. Описание схемы грамматик.

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

  2. Контрольные вопросы:

    1. Что называется грамматикой?

    2. В чем суть метода нисходящего анализа?

    3. Как строиться схема нисходящего анализа?

    4. Что называется сентенцией?

    5. В чем заключается смысл реализации задачи разбора?