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

Цена:
15 руб.

Состав работы

material.view.file_icon
material.view.file_icon bestref-141223.doc
Работа представляет собой zip архив с файлами (распаковать онлайн), которые открываются в программах:
  • Microsoft Word

Описание

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

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

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

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

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

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

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

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

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

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



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

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

Грамматика – это описание способа построения предложений некоторого языка. Иными словами, грамматика – это математическая система, определяющая язык. Фактически, определив грамматику языка, мы указываем правила порождения цепочек символов, принадлежащих этому языку. Таким образом, грамматика – это генератор цепочек языка.

Правило (или продукция) – это упорядоченная пара цепочек символов (α, β). В правилах важен порядок цепочек, поэтому их чаще записывают в виде α → β (или α::= β). Такая запись читается как «α порождает β» или «β по определению есть α».

Грамматика языка программирования содержит правила двух типов: первые (определяющие синтаксические конструкции языка) довольно легко поддаются формальному описанию; вторые (определяющие семантические ограничения языка) обычно излагаются в неформальной форме. Поэтому любое описание (или стандарт) языка программирования обычно состоит из двух частей: вначале формально излагаются правила построения синтаксических конструкций, а потом на естественном языке дается описание семантических правил.
Кейс №2. Гражданский процесс (3 ситуации)
Кейс 2 Ситуация 1. После получения копии судебного приказа должник направил в суд апелляционную жалобу. В ней указывалось, что судья, вынося судебный приказ, не вызвал его в судебное заседание и не выслушал его возражения. Было ли нарушено требование законодательства при вынесении судебного приказа? Как должен поступить должник при получении копии судебного приказа? Ситуация 2. Гражданин Самойлов просил признать незаконным судебное решение в связи с нарушением принципа непосредственности, сс
User IVANOVA : 4 июля 2019
130 руб.
Кейс №2. Гражданский процесс (3 ситуации)
Общие сведения о языке программирования Qbasic
Qbasic Язык QBASIC (Beginner's All-purpose Instruction Code) разработан Джоном Кимини и Томасом Куртцем в Дартмутском колледже, США, в середине 1960 г. QBASIC занимает особое место среди всех языков высокого уровня. С самого начала он задумывался как универсальный язык для начинающих, и средства программирования на QBASIC до сих пор включаются в комплект поставки ПК, - как обязательный элемент технологии. Вот некоторый достоинства QBASIC (с точки зрения массово
User Elfa254 : 29 сентября 2013
5 руб.
Макроэкономика. Зачет. Билет №13
Билет № 13 Дисциплина «Макроэкономика» 1. Общественный продукт в воспроизводственном процессе. 2. Государственный бюджет и бюджетная политика.
User Dreyko : 18 апреля 2016
350 руб.
Курсовой проект "Технологический процесс изготовления детали "Крышка""
Пояснительная записка. Содержание. Лист Аннотация 2 Введение 3 I.ОБЩАЯ ЧАСТЬ 4 1.1 Описание детали 4 1.2 Анализ детали по точности, шероховатости 4 и допускам формы расположения поверхностей. 1.3 Материал детали и его свойства. 4 1.4 Анализ технологичности детали. I1. ТЕХНОЛОГИЧЕСКАЯ ЧАСТЬ 6 2.1 Обоснование выбора заготовки и составление ее чертежа. 6 2.2 Расчет припусков на обработку и размеров заготовки. 6
User самурай : 21 января 2009
10 руб.
up Наверх