Однопроходный/двухпроходный транслятор с языка математических выражений на язык деревьев вывода
Состав работы
|
|
|
|
Работа представляет собой zip архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
Описание
Цель данной курсовой работы:
– изучение принципов построения трансляторов
– написание на языке C++ класса, реализующего следующие действия над математическими выражениями:
– лексический анализ
– синтаксический анализ
– вычисление значения
– написание транслятора с языка математических выражений на язык деревьев вывода
– написание интерпретатора языка деревьев вывода
Теоретическое введение
Теория построения трансляторов используется во многих областях, связанных с программным обеспечением. Важность этой темы можно проиллюстрировать на примере языка высокого уровня C++: для разработки программы на C++ требуется гораздо меньше времени, чем на языках более низкого уровня.
Формальные грамматики
Формальное определение грамматики. Форма Бэкуса–Наура
Грамматика – это описание способа построения предложений некоторого языка. Иными словами, грамматика – это математическая система, определяющая язык. Фактически, определив грамматику языка, мы указываем правила порождения цепочек символов, принадлежащих этому языку. Таким образом, грамматика – это генератор цепочек языка.
Правило (или продукция) – это упорядоченная пара цепочек символов (α, β). В правилах важен порядок цепочек, поэтому их чаще записывают в виде α → β (или α::= β). Такая запись читается как «α порождает β» или «β по определению есть α».
Грамматика языка программирования содержит правила двух типов: первые (определяющие синтаксические конструкции языка) довольно легко поддаются формальному описанию; вторые (определяющие семантические ограничения языка) обычно излагаются в неформальной форме. Поэтому любое описание (или стандарт) языка программирования обычно состоит из двух частей: вначале формально излагаются правила построения синтаксических конструкций, а потом на естественном языке дается описание семантических правил.
– изучение принципов построения трансляторов
– написание на языке C++ класса, реализующего следующие действия над математическими выражениями:
– лексический анализ
– синтаксический анализ
– вычисление значения
– написание транслятора с языка математических выражений на язык деревьев вывода
– написание интерпретатора языка деревьев вывода
Теоретическое введение
Теория построения трансляторов используется во многих областях, связанных с программным обеспечением. Важность этой темы можно проиллюстрировать на примере языка высокого уровня C++: для разработки программы на C++ требуется гораздо меньше времени, чем на языках более низкого уровня.
Формальные грамматики
Формальное определение грамматики. Форма Бэкуса–Наура
Грамматика – это описание способа построения предложений некоторого языка. Иными словами, грамматика – это математическая система, определяющая язык. Фактически, определив грамматику языка, мы указываем правила порождения цепочек символов, принадлежащих этому языку. Таким образом, грамматика – это генератор цепочек языка.
Правило (или продукция) – это упорядоченная пара цепочек символов (α, β). В правилах важен порядок цепочек, поэтому их чаще записывают в виде α → β (или α::= β). Такая запись читается как «α порождает β» или «β по определению есть α».
Грамматика языка программирования содержит правила двух типов: первые (определяющие синтаксические конструкции языка) довольно легко поддаются формальному описанию; вторые (определяющие семантические ограничения языка) обычно излагаются в неформальной форме. Поэтому любое описание (или стандарт) языка программирования обычно состоит из двух частей: вначале формально излагаются правила построения синтаксических конструкций, а потом на естественном языке дается описание семантических правил.
Другие работы
Годовая финансовая отчетность организации
Olesja55
: 31 мая 2012
ВВЕДЕНИЕ
ГЛАВА 1. ГОДОВАЯ ФИНАНСОВАЯ ОТЧЕТНОСТЬ: ПОНЯТИЕ,
ЗНАЧЕНИЕ, НОРМАТИВНО-ПРАВОВОЕ РЕГУЛИРОВАНИЕ
1.1 Понятие и сущность финансовой отчетности
1.2 Состав и основные разделы финансовой отчетности
1.3 Нормативно- правовое регулирование финансовой отчетности
ГЛАВА 2 ОСНОВНЫЕ ПРИНЦИПЫ ФОРМИРОВАНИЯ ГОДОВОЙ
ФИНАНСОВОЙ ОТЧЕТНОСТИ В СООТВЕТСТВИИ С
РОССИЙСКИМИ СТАНДАРТАМИ И
МЕЖДУНАРОДНЫМИ СТАНДАРТАМИ ФИНАНСОВОЙ
ОТЧЕТН
100 руб.
Спроектировать цифровой фильтр на основе сигнального процессора
Лесник
: 15 января 2011
Спроектировать цифровой фильтр на основе сигнального процессора 1813ВЕ1 при следующих требованиях:
1. Передаточная характеристика цифрового фильтра
2. Разрядность входного слова равна 9.
3. Разрядность обрабатываемых результатов –24.
4. Входное воздействие:
X(nT) ={1,49; -2,9; 0,51; 1,95; -2; 1,05; -0,85; -0,9}
1.Синтезировать структурную схему цифрового фильтра.
2.Определить устойчивость. В случае устойчивой работы произвести пересчет рекурсивной цепи в нерекурсивную цепь.
3.Произвести расче
70 руб.
Гранные поверхности №2318. Вариант №18. РУТ (МИИТ) 2005г.
werchak
: 15 декабря 2020
Методические указания к выполнению домашней работы по начертательной геометрии.
Домашняя работа на тему "Гранные поверхности" состоит из следующих задач:
Задача №1 Построение проекций многогранника
а) по заданным координатам его вершин (варианты задания 1/32)
Задание №2 Построение сечения многогранника плоскостью,
а) проходящей через заданную точку K и перпендикулярной к одной из плоскостей проекций ( варианты заданий 1/32)
Задание №3 Определение натуральной величины сечения (варианты 1/32)
ВАР
550 руб.
Аудирование на основе коммуникативного подхода и его место в развивающем обучении
Lokard
: 23 марта 2013
Содержание
Введение 3
ГлаваI. Теоретические основы развивающего обучения и обучения аудированию
1.1 Развивающее обучение 6
1.2 Аудирование как вид речевой деятельности 15
1.3 Использование коммуникативного подхода при обучении аудированию 20
ГлаваII. Аудирование в развивающей системе обучения
2.1 Обучение аудированию на коммуникативной
15 руб.