close

Вход

Забыли?

вход по аккаунту

?

отчёт3 (2)

код для вставкиСкачать
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
МАРИЙСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
ФАКУЛЬТЕТ ИНФОРМАТИКИ И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
Кафедра ИВС
Лабораторная работа №3
по дисциплине "Системное программное обеспечение".
Построение простейшего дерева вывода
Вариант 6.
Выполнил: студент группы ИВТ-31
Пакулин А.В.
Проверил: Морохин Д.В.
г. Йошкар-Ола 2011г.
Цель работы
Изучение основных понятий теории грамматик простого и операторного предшествования, ознакомление с алгоритмами синтаксического анализа (разбора) для некоторых классов КС-грамматик, получение практических навыков создания простейшего синтаксического анализатора для заданной грамматики операторного предшествования.
Задание Терминальные символы выделены жирным шрифтом. Вместо символа a должны подставляться лексемы.
Дана грамматика вида:
ST<T | T>T | T<=T | T>=T
TT+E | T-E | E
Ea*a | a/a | a
Допустимые лексемы входного языка: идентификаторы, целые десятичные числа со знаком. Описание грамматики входного языка в форме Бэкуса-Наура
Грамматика для распознавания идентификаторов:
<I> -> <C><R>
<R> -> <C><R>
<R> -> <D><R>
<R> -> $
<C> -> a|b|...|z|A|...|Z
<D> -> 0|1|...|9
Грамматика для распознавания целых десятичных чисел со знаком:
G¢({0,1,2,3,4,5,6,7,8,9,-,+}, {S,T,F}, P, S).
P: S ® T½+T½-T
T ® F½TF
F ® 0½1½2½3½4½5½6½7½8½9.
Грамматика для лексического анализатора получается объединением этих 2-х грамматик.
Множества крайних правых и крайних левых символов с указанием шагов построения
СимволШаг 1Шаг 2Шаг 3(U)L(U)R(U)L(U)R(U)L(U)R(U)STE
Множества крайних правых и крайних левых терминальных символов
СимволШаг 1 Шаг 2(U)Lt(U)Rt(U)Lt(U)Rt(U)STE
Матрица предшествования для грамматики
Символ<>=+-*/к<>=+-*/н
Пример выполнения разбора предложения
Входная цепочка: a / (-40) - Ab < (+663) * bc + abc + bd
{ a / (-40) - Ab < (+663) * bc + abc + bd к; н; } п { к; н; } п {к; н<; } п {к; н; } с {к; н;} п {к; н;} п {к; н;} п {к; н;} п {к; н;} c {к; н;} с {к; н;}
Дерево вывода:
Вывод
При выполнении лабораторной работы изучили основные понятия теории грамматик простого и операторного предшествования, ознакомились с алгоритмами синтаксического анализа для некоторых классов КС-грамматик, получили практические навыки создания простейшего синтаксического анализатора для заданной грамматики операторного предшествия. Написали программу, которая выполняет лексический анализ входного текста в соответствии с заданием, порождает таблицу лексем и выполняет синтаксический разбор текста по заданной грамматике с построением дерева разбора. Текст задаётся в виде текстового файла.
Документ
Категория
Рефераты
Просмотров
5
Размер файла
96 Кб
Теги
отчет3
1/--страниц
Пожаловаться на содержимое документа