книга DipMaster-Shop.RU
поиск
карта
почта
Главная На заказ Готовые работы Способы оплаты Партнерство Контакты F.A.Q. Поиск
Заявки на авиабилеты. Работа с каталогами и файлами ( Контрольная работа, 15 стр. )
ИГРА "ЖИЗНЬ" ( Курсовая работа, 27 стр. )
Игра "НЛО" ( Дипломная работа, 61 стр. )
Игра "Сбей самолет" ( Курсовая работа, 31 стр. )
ИГРА "ТЕННИС" ( Курсовая работа, 30 стр. )
Игра “Жизнь” ( Курсовая работа, 21 стр. )
Игра “Жизнь” 2008-21 ( Курсовая работа, 21 стр. )
Измерение и кодирование информации ( Курсовая работа, 41 стр. )
Изучение и реализация в программном продукте решения систем нелинейных уравнений при помощи метода Ньютона и Якоби ( Контрольная работа, 21 стр. )
Изучение основ системы программирования Visual Basic 6.0. ( Курсовая работа, 32 стр. )
Изучение основ системы программирования Visual Basic 6.0 ( Курсовая работа, 47 стр. )
Изучение принципов обработки аппаратных прерываний ( Контрольная работа, 13 стр. )
Изучение принципов обработки внутренних прерываний ( Контрольная работа, 8 стр. )
Изучение рассмотрение классификации языков программирование, обзор языков программирования и написание приложения, реализующего алгоритм md5 ( Курсовая работа, 41 стр. )
Изучение современных систем программирования ( Курсовая работа, 34 стр. )
Инструмент управления растровыми атрибутами картографических слоёв для продуктов семейства ArcGIS ( Курсовая работа, 10 стр. )
Инструментальное средство анализа эмпирических данных методом квантовой статистики ( Курсовая работа, 32 стр. )
Инструменты создания Web-страниц ( Курсовая работа, 10 стр. )
Интеграция 1С:Предприятие с системой «Клиент - банк» ( Курсовая работа, 23 стр. )
Интеграция алгоритма расчета концентрации хлорофилла-А для мутных вод в программный комплекс SeaDAS. ( Курсовая работа, 8 стр. )
Интерактивный интерфейс для тестирующей системы WEBTEST ( Курсовая работа, 14 стр. )
ИНТЕРНЕТ-ПРОДВИЖЕНИЕ ФОЛЬКЛОРНОГО КОЛЛЕКТИВА «ШАЙТАНЕ» В МОЛОДЕЖНОЙ АУДИТОРИИ г. ПЕРВОУРАЛЬСКА» ( Дипломная работа, 74 стр. )
Интерфейс полуавтоматической нормализации данных ( Курсовая работа, 11 стр. )
Искусственный интеллект для пошаговой стратегической игры UFO: Alien Invasion ( Курсовая работа, 9 стр. )
Искусственный интеллект для пошаговой стратегической игры Wesnoth ( Курсовая работа, 11 стр. )

Аннотация 3

Теоретическое введение 3

Формальные грамматики 3

Формальное определение грамматики. Форма Бэкуса-Наура 3

Принцип рекурсии в правилах грамматики 4

Задача разбора 5

Виды рекурсий и разбора 6

Классификация языков и грамматик 6

Классификация грамматик по Хомскому 6

Тип 0: грамматики с фразовой структурой 6

Тип 1: контекстно-зависимые (КЗ) и неукорачивающие грамматики 6

Тип 2: контекстно-свободные (КС) грамматики 7

Тип 3: регулярные грамматики 7

Соотношения между типами грамматик 7

Трансляторы 8

Формальное определение транслятора 8

Этапы трансляции. Общая схема работы транслятора 8

Интерпретаторы 10

Lex и Yacc 11

Обзор генераторов кода 11

Совместное использование Lex и Yacc. 11

Lex 13

Theory 13

Practice. 15

Реализация lex в Unix 18

YACC- Yet Another Compiler Compiler 19

Структура YACC-программы 20

Семантические действия 21

Лексический анализ 22

Реализация Yacc в Unix 24

YACC(1) 24

Постановка задачи 26

Транслятор 26

Грамматика синтаксического анализатора 26

Исходная грамматика 26

Эквивалентная грамматика без левой рекурсии 26

Лексический анализатор 27

Синтаксический анализатор 27

Взаимодействие анализаторов 27

Оптимизатор 27

Алгоритм оптимизации 27

Пример оптимизации 28

Интерпретатор 30

Заключение 30

Приложения 31

Analyser.h 31

Analyser.cpp 35

error.h (структуры исключений и перечисления ошибок) 48

transl.cpp (транслятор) 49

interpret.cpp (интерпретатор) 50

Список литературы 51

Аннотация

Цель данной курсовой работы:

- изучение принципов построения трансляторов

- написание на языке C++ класса, реализующего следующие действия над математическими выражениями:

- лексический анализ

- синтаксический анализ

- вычисление значения

- написание транслятора с языка математических выражений на язык деревьев вывода

- написание интерпретатора языка деревьев вывода

Теоретическое введение

Теория построения трансляторов используется во многих областях, связанных с программным обеспечением. Важность этой темы можно проиллюстрировать на примере языка высокого уровня C++: для разработки программы на C++ требуется гораздо меньше времени, чем на языках более низкого уровня.

" А. Ахо, Р. Сети, Д. Ульман: "Компиляторы. Принципы, технологии, инструменты"

" А. Ю. Молчанов: "Системное программное обеспечение"

" A COMPACT GUIDE TO LEX & YACC by Tom Niemann

Примечаний нет.

2000-2024 © Copyright «DipMaster-Shop.ru»