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