книга DipMaster-Shop.RU
поиск
карта
почта
Главная На заказ Готовые работы Способы оплаты Партнерство Контакты F.A.Q. Поиск
Практическое освоение методов разработки приложений в среде визуального проектирования Borland Delphi 7.0 ( Курсовая работа, 36 стр. )
Принципы создания синтаксических и семантических анализаторов ( Курсовая работа, 52 стр. )
Проблемы развития третьего сектора в Иркутской области ( Дипломная работа, 82 стр. )
Проверка закона Гука на различных масштабах рассмотрения при квазистатическом растяжении твердого тела. ( Курсовая работа, 24 стр. )
ПРОВЕРКА СВОЙСТВА ТРАНЗИТИВНОСТИ ДЛЯ ОТНОШЕНИЙ, ЗАДАННЫХ В ОРИЕНТИРОВАННЫХ ГРАФАХ ( Курсовая работа, 21 стр. )
Программа Бест-4 ( Контрольная работа, 16 стр. )
Программа для птицеводов ( Контрольная работа, 16 стр. )
Программа нахождения оптимального пути перевозки при минимальных затратах ( Курсовая работа, 54 стр. )
Программа планирования предупредительных ремонтов электрообо-рудования ( Дипломная работа, 65 стр. )
Программа предназначена для проверки знаний студентов и учащихся с помощью популярных сейчас тестов «с выбором ответа» ( Контрольная работа, 14 стр. )
Программа составления кроссвордов ( Курсовая работа, 27 стр. )
Программирование ( Контрольная работа, 5 стр. )
Программирование ( Контрольная работа, 13 стр. )
Программирование ( Контрольная работа, 36 стр. )
Программирование (контрольная работа) ( Контрольная работа, 50 стр. )
ПРОГРАММИРОВАНИЕ В СРЕДЕ DELPHI (Белоруссия) ( Дипломная работа, 94 стр. )
Программирование и отдадка программ ( Контрольная работа, 18 стр. )
Программирование на языках высокого уровня0 ( Контрольная работа, 23 стр. )
Программная имитация живого "аквариума(озера)" ( Контрольная работа, 26 стр. )
ПРОГРАММНАЯ РЕАЛИЗАЦИЯ АЛГОРИТМА ПРОСМОТРА И СОХРАНЕНИЯ РЕСУРСОВ ФАЙЛА ( Дипломная работа, 88 стр. )
ПРОГРАММНАЯ РЕАЛИЗАЦИЯ АВТОМАТИЗИРОВАННОГО РАБОЧЕГО МЕСТА СТАРШЕГО СУДЕБНОГО ПРИСТАВА ( Дипломная работа, 110 стр. )
Программный комплекс многокритериальной оптимизации систем на основе мультихромосомных моделей и генетических алгоритмов ( Дипломная работа, 141 стр. )
Проект разработки программы на языка программировании XLisp ( Контрольная работа, 17 стр. )
Проект разработки программы на языка программировании XLisp ( Контрольная работа, 15 стр. )
Проект разработки программы на языка программировании Xlisp 2008-16 ( Контрольная работа, 16 стр. )

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