- •Выпускная квалификационная работа бакалавра
- •Задание на выпускную квалификационную работу бакалавра
- •План-график выполнения работы
- •Реферат
- •Введение
- •1 Языковые процессоры
- •1.1 Практическое применениеискусственных языков
- •1.2 Практический пример
- •1.3 Понятие и структура языкового процессора
- •2Обзор существующих систем и обоснование выбора инструментальных средств и класса грамматики
- •2.1 Обзор существующей символьной спецификации моделей гс в среде исма
- •2.1.1 Лексемы языка исма
- •2.1.2 Грамматика языка исма
- •2.1.3 Семантические действия в языковом процессоре исма
- •2.1.4 Заключение
- •2.2 Обоснование выбора инструментальных средств и класса грамматики
- •3 Постановка задачи исследования
- •3.1 Характеристика задачи исследования
- •3.2 Входная информация
- •3.3 Выходная информация
- •3.4 Архитектура среды исма с расширенным языком описания гс
- •4 Программно-математическое обеспечение
- •4.1Лексический анализатор
- •4.1.1 Функции лексического анализатора
- •4.1.2 Спецификация токенови входного алфавита символов
- •4.1.3 Распознавание токенов
- •4.1.4 Иерархия классов модуля
- •4.2 Синтаксический анализатор
- •4.2.1 Функции синтаксического анализатора
- •4.2.2 Спецификация грамматики
- •4.2.3 Метод разбора
- •4.2.4 Восстановление после ошибок
- •4.2.5 Иерархия классов модуля
- •4.3 Семантический анализ
- •4.3.1 Промежуточное представление программы
- •4.3.2 Грамматика с семантическими правилами
- •4.3.3 Модифицированныйметодразбора
- •4.3.4 Семантический анализ. Таблица символов
- •4.3.5 Семантический анализ. Проверка корректности типа
- •4.4 Генерация кода
- •4.5 Система сбора диагностических сообщений
- •5 Тестирование
- •5.1 Лексический анализатор
- •5.2 Синтаксическийанализатор
- •5.3 Семантический анализатор
- •Заключение
- •Список использованных источников
- •ПриложениеA Диагностические сообщения
- •Диагностические сообщения сканера
- •Диагностические сообщения парсера
- •Диагностические сообщения семантического анализатора
- •ПриложениеБ
- •Б.1.3 Установка системы
- •Б.2 Работа с системой б.2.1 Запуск системы и начало работы
- •Б.2.2Ввод программной модели
- •Б.2.3Трансляция модели и просмотр результата
- •Б.2.4Сохранение программной модели
- •Б.2.6Завершение работы с системой
- •Приложение в
- •Листинг программы
- •В.1 Модуль лексического анализатора
- •Файл abstractLexer.H
- •Файл lexer.H
- •Файл lexer.Cpp
- •В.2 Модуль синтаксического анализатора Файл abstractParser.H
- •Файлparser_ll1.H
- •Файл parser_ll1.Cpp
- •В.3 Модуль семантического анализатора Файл symbolTable.H
- •Файл SymbolTableFactory.H
- •Файл checker.H
- •В.4 Модулькодогенератора ФайлastVisitor.H
- •Файл astCodeGen.H
Реферат
121стр., 32 рис., 7 табл.,11 библ., 3 прил.
ГИБРИДНЫЕ СИСТЕМЫ, ФОРМАЛЬНЫЕ ЯЗЫКИ, ПОРОЖДАЮЩИЕ ГРАММАТИКИ, ЯЗЫКОВОЙ ПРОЦЕССОР, ЛЕКСИЧЕСКИЙ АНАЛИЗ, СИНТАКСИЧЕСКИЙ АНАЛИЗ, СЕМАНТИЧЕСКИЙ АНАЛИЗ, КОДА ГЕНЕРАЦИЯ
Обоснована необходимость создания инструментальных средств спецификации и анализа гибридных систем (ГС) высокой размерности с алгоритмическим заданием правых частей. Проведен анализ существующих систем спецификации и анализа ГС. Выбрано инструментальное средство реализации проекта. Определены входные и выходные данные. Разработаны алгоритмы анализа текстовой модели ГС. Выполнена программная реализация алгоритмов анализа текстовой модели ГС. Проведено тестирование разработанного приложения. Приведены методические указания для работы с системой и оформлено руководство пользователя.
Содержани
Введение 8
1 Языковые процессоры 9
1.1 Практическое применениеискусственных языков 9
1.2 Практический пример 10
1.3 Понятие и структура языкового процессора 11
2Обзор существующих систем и обоснование выбора инструментальных средств и класса грамматики 15
2.1 Обзор существующей символьной спецификации моделей ГС в среде ИСМА 15
2.1.1 Лексемы языка ИСМА 15
2.1.2 Грамматика языка ИСМА 16
2.1.3 Семантические действия в языковом процессоре ИСМА 20
2.1.4 Заключение 20
2.2 Обоснование выбора инструментальных средств и класса грамматики 20
3 Постановка задачи исследования 23
3.1 Характеристика задачи исследования 23
3.2 Входная информация 25
3.3 Выходная информация 26
3.4 Архитектура среды ИСМА с расширенным языком описания ГС 28
4 Программно-математическое обеспечение 30
4.1Лексический анализатор 30
4.1.1 Функции лексического анализатора 30
4.1.2 Спецификация токенови входного алфавита символов 32
4.1.3 Распознавание токенов 34
4.1.4 Иерархия классов модуля 38
4.2 Синтаксический анализатор 40
4.2.1 Функции синтаксического анализатора 40
4.2.2 Спецификация грамматики 40
4.2.3 Метод разбора 44
4.2.4 Восстановление после ошибок 50
4.2.5 Иерархия классов модуля 51
4.3 Семантический анализ 53
4.3.1 Промежуточное представление программы 53
4.3.2 Грамматика с семантическими правилами 56
4.3.3 Модифицированныйметодразбора 60
4.3.4 Семантический анализ. Таблица символов 63
4.4 Генерация кода 74
4.5 Система сбора диагностических сообщений 77
5 Тестирование 79
5.1 Лексический анализатор 79
5.2 Синтаксическийанализатор 80
5.3 Семантический анализатор 81
Заключение 82
Список использованных источников 83
ПриложениеA 84
ПриложениеБ 86
Приложение В 92
Введение 4
1 Языковые процессоры 5
1.1 Практическое применение искусственных языков 5
1.2 Практический пример 6
1.3 Понятие и структура языкового процессора 8
2 Обзор существующих систем и обоснование выбора инструментальных средств и класса грамматики 10
2.1 Обзор существующей символьной спецификации моделей ГС в среде ИСМА 11
2.1.1 Лексемы языка ИСМА 11
2.1.2 Грамматика языка ИСМА 12
2.1.3 Семантические действия в языковом процессоре ИСМА 16
2.1.4 Заключение 16
2.2 Обоснование выбора инструментальных средств и класса грамматики 16
3 Постановка задачи исследования 19
3.1 Характеристика задачи исследования 19
3.2 Входная информация 21
3.3 Выходная информация 22
3.4 Архитектура среды ИСМА с расширенным языком описания ГС 24
4 Программно-математическое обеспечение 26
4.1 Лексический анализатор 26
4.1.1 Функции лексического анализатора 26
4.1.2 Спецификация токенов и входного алфавита символов 28
4.1.3 Распознавание токенов 30
4.1.4 Иерархия классов модуля 33
4.2 Синтаксический анализатор 35
4.2.1 Функции синтаксического анализатора 35
4.2.2 Спецификация грамматики 35
4.2.3 Метод разбора 39
4.2.4 Восстановление после ошибок 45
4.2.5 Иерархия классов модуля 46
4.3 Семантический анализ 48
4.3.1 Промежуточное представление программы 48
4.3.2 Грамматика с семантическими правилами 51
4.3.3 Модифицированный метод разбора 55
4.3.4 Семантический анализ. Таблица символов 58
4.4 Генерация кода 69
4.5 Система сбора диагностических сообщений 73
5 Тестирование 74
5.1 Лексический анализатор 74
5.2 Синтаксический анализатор 75
5.3 Семантический анализатор 76
Заключение 77
Список использованных источников 78
Приложение A 79
Приложение Б 81
Приложение В 88
