Вход

Компилятор для подмножества языка Modula-2

Рекомендуемая категория для самостоятельной подготовки:
Курсовая работа*
Код 487184
Дата создания 2016
Мы сможем обработать ваш заказ (!) 27 апреля в 12:00 [мск]
Файлы будут доступны для скачивания только после обработки заказа.
2 070руб.
КУПИТЬ

Описание

Курсовая работа по дисциплине Теория автоматов и языков программирования на тему "Компилятор для подмножества языка Modula-2". В работе реализован компилятор, состоящий из лексического анализатора, синтаксического анализатора, абстрактного синтаксического дерева. Работа была защищена на "отлично".
Работа сделана в среде разработки Lazarus на языке ObjectPascla/Delhi. Лексический анализатор реализован с помощью генератора лексических анализаторов LEX. Синтаксический разбор осуществляется методом таблично управляемого разбора сверху вниз. Абстрактное синтаксическое дерево строится на основе конструкций, используемых в коде написанной на Modula-2 программы.
Работа программы заключается в том, что пользователь вводит код на языке Modula-2 в соответствующее текстовое поле. Программа производит лексический разбор. Если он успешен, то выполняется синтаксический разбор. Если и он успешен, то выполняется построение узлов абстрактного синтаксического дерева. Узлы дерева выводятся в текстовое поле построчно, узел за узлом. Если в ходе выполнения какого-либо разбора возникает ошибка, программа сообщает об этом.
В демо-файле прикпреплен exe-шник, в основном архиве - вся программа, пояснительная записка к работе, в отдельных файлах для удобства содержатся грамматика языка и таблицы разбора.

Содержание

Введение 4
1. Описание языка 5
1.1 Описание заданного подмножества языка 5
1.2 Грамматика для заданного подмножества 8
2. Лексический анализатор 12
2.1 Получение модуля лексического анализатора с помощью Lex 12
2.2 Использование модуля лексического анализатора в программе 16
3. Синтаксический анализатор 20
3.1 Построение множества First 20
3.2 Построение множества Follow 24
3.3 Построение таблицы разбора 29
4. Абстрактный синтаксис 40
Заключение 44
Библиографический список 45
Очень похожие работы
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.00453
© Рефератбанк, 2002 - 2024