книга DipMaster-Shop.RU
поиск
карта
почта
Главная На заказ Готовые работы Способы оплаты Партнерство Контакты F.A.Q. Поиск
Создание приложений в среде программирования Borland Delphi. ( Дипломная работа, 61 стр. )
Создание и обработка баз данных средствами VISUAL BASIC 6.0 ( Курсовая работа, 24 стр. )
Создание и обработка Баз данных средствами Visual Basic 6.0 ( Курсовая работа, 48 стр. )
Создание и обработка Баз данных средствами Visual Basic 6.0 (2) ( Курсовая работа, 54 стр. )
Создание Интернет-магазина ( Дипломная работа, 108 стр. )
Создание клавиатурного тренажера 2005-12 ( Контрольная работа, 12 стр. )
Создание клавиатурного тренажера ( Контрольная работа, 12 стр. )
Создание приложений VBA в Access 16 ( Курсовая работа, 42 стр. )
Создание приложения, реализующего изображение вращающегося многогран-ника ( Курсовая работа, 28 стр. )
Создание программного модуля «Расчет значений параметров и построение прямой призмы» 2008-24 ( Контрольная работа, 24 стр. )
Создание программного модуля «Расчет значений параметров и построение прямой призмы» ( Контрольная работа, 24 стр. )
Создание программного комплекса для выполнения лабораторной работы "Изучение емкостных преобразователей" ( Дипломная работа, 128 стр. )
Создание программных продуктов для решения задач ( Курсовая работа, 22 стр. )
Создание программы «Чат» ( Курсовая работа, 20 стр. )
Создание программы "Двоичное дерево" ( Контрольная работа, 28 стр. )
Создание программы "Двоичное дерево" 2008-28 ( Контрольная работа, 28 стр. )
Создание программы для ОС DOS "Тест открытой формы по языку HTML" на языке программирования C/C++ ( Курсовая работа, 23 стр. )
Создание программы для ОС DOS "Тест открытой формы по языку HTML" на языке программирования C/C++ 2008-23 ( Курсовая работа, 23 стр. )
Создание программы на С++ в среде Builder Borland 6.0. ( Контрольная работа, 13 стр. )
Создание рабочего демонстрационного windows-приложения на языке программирования Delphi ( Курсовая работа, 41 стр. )
Создание слайдов ( Контрольная работа, 14 стр. )
Создание стереоизображений ( Курсовая работа, 8 стр. )
Создание файлового менеджера средствами среды программирования Borland Delphi ( Дипломная работа, 89 стр. )
Составить алгоритм и написать программу для ввода пройденного пути и времени в пути и вычисления средней скорости 12 ( Контрольная работа, 14 стр. )
Составить программный продукт исследующие финансовое состояние организации ЗАО "Сельхозсервис" . ( Дипломная работа, 94 стр. )

Аннотация 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»