Однопроходный/двухпроходный транслятор с языка математических выражений на язык деревьев вывода
Состав работы
|
|
|
|
Необходимые программы
Работа представляет собой zip архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
Описание
Цель данной курсовой работы:
– изучение принципов построения трансляторов
– написание на языке C++ класса, реализующего следующие действия над математическими выражениями:
– лексический анализ
– синтаксический анализ
– вычисление значения
– написание транслятора с языка математических выражений на язык деревьев вывода
– написание интерпретатора языка деревьев вывода
Теоретическое введение
Теория построения трансляторов используется во многих областях, связанных с программным обеспечением. Важность этой темы можно проиллюстрировать на примере языка высокого уровня C++: для разработки программы на C++ требуется гораздо меньше времени, чем на языках более низкого уровня.
Формальные грамматики
Формальное определение грамматики. Форма Бэкуса–Наура
Грамматика – это описание способа построения предложений некоторого языка. Иными словами, грамматика – это математическая система, определяющая язык. Фактически, определив грамматику языка, мы указываем правила порождения цепочек символов, принадлежащих этому языку. Таким образом, грамматика – это генератор цепочек языка.
Правило (или продукция) – это упорядоченная пара цепочек символов (α, β). В правилах важен порядок цепочек, поэтому их чаще записывают в виде α → β (или α::= β). Такая запись читается как «α порождает β» или «β по определению есть α».
Грамматика языка программирования содержит правила двух типов: первые (определяющие синтаксические конструкции языка) довольно легко поддаются формальному описанию; вторые (определяющие семантические ограничения языка) обычно излагаются в неформальной форме. Поэтому любое описание (или стандарт) языка программирования обычно состоит из двух частей: вначале формально излагаются правила построения синтаксических конструкций, а потом на естественном языке дается описание семантических правил.
– изучение принципов построения трансляторов
– написание на языке C++ класса, реализующего следующие действия над математическими выражениями:
– лексический анализ
– синтаксический анализ
– вычисление значения
– написание транслятора с языка математических выражений на язык деревьев вывода
– написание интерпретатора языка деревьев вывода
Теоретическое введение
Теория построения трансляторов используется во многих областях, связанных с программным обеспечением. Важность этой темы можно проиллюстрировать на примере языка высокого уровня C++: для разработки программы на C++ требуется гораздо меньше времени, чем на языках более низкого уровня.
Формальные грамматики
Формальное определение грамматики. Форма Бэкуса–Наура
Грамматика – это описание способа построения предложений некоторого языка. Иными словами, грамматика – это математическая система, определяющая язык. Фактически, определив грамматику языка, мы указываем правила порождения цепочек символов, принадлежащих этому языку. Таким образом, грамматика – это генератор цепочек языка.
Правило (или продукция) – это упорядоченная пара цепочек символов (α, β). В правилах важен порядок цепочек, поэтому их чаще записывают в виде α → β (или α::= β). Такая запись читается как «α порождает β» или «β по определению есть α».
Грамматика языка программирования содержит правила двух типов: первые (определяющие синтаксические конструкции языка) довольно легко поддаются формальному описанию; вторые (определяющие семантические ограничения языка) обычно излагаются в неформальной форме. Поэтому любое описание (или стандарт) языка программирования обычно состоит из двух частей: вначале формально излагаются правила построения синтаксических конструкций, а потом на естественном языке дается описание семантических правил.
Другие работы
Лабораторная работа №2 по Информатике ( часть 1 ) Вариант №9
Ozzuk92
: 28 апреля 2020
ФОРМИРОВАНИЕ И ОБРАБОТКА ОДНОМЕРНЫХ МАССИВОВ
Задание
В соответствии с вариантом разработайте алгоритм обработки элементов массива.
Напишите программу на алгоритмическом языке в соответствии со схемой алгоритма.
Проведите тестирование программы в среде программирования.
Вариант 9.
Массив D [30] целых элементов задать датчиком случайных чисел.
Найти минимальный и максимальный элемент, среди элементов массива D и поменять их местами.
Схема алгоритма
Программа
Результаты выполнения программы
201
150 руб.
Расчет электрических фильтров. 4-й вариант
te86
: 16 февраля 2013
Курсовая работа вариант 04 по Теории электрических цепей "РАСЧЕТ ЭЛЕКТРИЧЕСКИХ ФИЛЬТРОВ"
Содержание
Введение
1. Расчет и построение графиков амплитудного спектра радиоимпульсов.
2. Формирование требований к полосовому фильтру
3. Формирование передаточной функции НЧ - прототипа
4. Реализация LC-прототипа.
5. Реализация пассивного полосового фильтра
6. Расчет полюсов ARC-фильтра.
7. Реализация полосового ARC-фильтра.
8. Формирование передаточной функции
9. Проверка результатов расчета
Лите
60 руб.
Выполнить по аксонометрической проекции чертеж модели. Задание №35. Вариант №21
lepris
: 11 февраля 2022
Задание 35 вариант 21 детали 1,2,3
Выполнить по аксонометрической проекции чертеж модели построить три проекции и нанести размеры.
3d модели и чертежи (все на скриншотах показано и присутствует в архиве) выполнены в компасе 3D v13, возможно открыть в 14,15,16,17,18,19,20,21,22 и выше версиях компаса.
Просьба по всем вопросам писать в Л/С. Отвечу и помогу.
150 руб.
Кейс. Оценка эффективности проекта.
studypro3
: 2 августа 2019
Вариант 3
КЕЙС 1
«Расчет показателей эффективности проектов»
СОДЕРЖАНИЕ КЕЙСА:
Анализируются проекты (у.е.):
IC P1 P2
A -5000 3500 3000
B -2500 1500 1800
Ранжируйте проекты по категориям IRR, PP, NPV, если i=13%.
РЕШЕНИЕ КЕЙСА представить в виде проекта с детальной и подробной аргументацией. Объем решения 2-3 страницы формата А-4.
КЕЙС 2
«Оценка эффективности проекта»
СОДЕРЖАНИЕ КЕЙСА:
Выполнить диагностику целесообразности мероприятий по совершенствованию организации труда по данным табли
400 руб.