Лабораторные на тему "Синтаксический разбор"

Лабораторная работа
в среде программирования Visual C++ .NET 2008



Если Вы считаете, что данная страница каким-либо образом нарушает Ваши авторские права, то Вам следует обратиться в администрацию нашего сайта по адресу info@kursovik.com либо через форму обратной связи

Среда программирования: Visual C++ .NET 2008

Название работы: Лабораторные на тему "Синтаксический разбор"

Вид работы: Лабораторная работа

Описание: Задание 1.
Разобраться в алгоритмах нисходящего и восходящего разбора c возвратами.
Разработать, тестировать и отладить программу с алгоритмом нисходящего и восходящего разбора c возвратами в соответствии с предложенным вариантом(вариант 3, грамматика G3).
Отчет, указанный в приложенном файле НЕ нужен. ТОЛЬКО программа с комментариями и общий принцип работы программы

Вариант 3. Алгоритм Кока-Янгера-Касами

Грамматика G3
Рассматривается грамматика выражений отношения с правилами
<выражение> ->
<арифметическое выражение> <знак операции отношения> <арифметическое выражение>
<арифметическое выражение> ->
<терм> |
<знак операции типа сложения> <терм> |
<арифметическое выражение> <знак операции типа сложения> <терм>
<терм> ->
<множитель> |
<терм> <знак операции типа умножения> <множитель>
<множитель> ->
<первичное выражение> |
<множитель> ^ <первичное выражение>
<первичное выражение> ->
<число> |
<идентификатор> |
( <арифметическое выражение> )
<знак операции типа сложения> ->
+ | -
<знак операции типа умножения> ->
* | / | %
<знак операции отношения> ->
< | <= | = | >= | > | <>

Замечания.
1. Нетерминалы <идентификатор> и <число> - это лексические единицы (лексемы), которые оставлены неопределенными, а при выполнении лабораторной работы можно либо рассматривать их как терминальные символы, либо определить их по своему усмотрению и добавить эти определения.
2. Терминалы ( ) - это разделители и символы пунктуации.
3. Терминалы + - * / % < <= = >= > <> - это знаки операций.
4. Нетерминал <выражение> - это начальный символ грамматики

Задание 2
Синтаксический разбор с использованием метода рекурсивного спуска
Дополнить грамматику из задания 2 блоком, состоящим из последовательности операторов присваивания. Для реализации предлагаются два варианта расширенной грамматики..
Для модифицированной грамматики написать программу нисходящего синтаксического анализа с использованием метода рекурсивного спуска.

Задание 3
Реализовать синтаксический анализатор операторного предшествования и синтаксически управляемый перевод инфиксного выражения в обратную польскую нотацию для грамматики выражений из задания 2.

Задание 4
Реализовать синтаксический анализатор операторного предшествования, использующего функции предшествования для грамматики выражений из задания 2.

Год: 2016

Данный заказ (лабораторная работа) выполнялся нашим сайтом в 2016-м году, в рамках этого заказа была разработана программа в среде программирования Visual C++ .NET 2008. Если у Вас похожее задание на программу, которую нужно написать на Visual C++ .NET 2008, либо на другом языке программирования, пожалуйста заполните форму, приведённую ниже, после чего Ваше задание в первую очередь рассмотрит наш программист, выполнявший в 2016-м году этот заказ, если он откажется, то Ваше задание оценят другие наши программисты в течение 48-и часов, если оценка нужна срочно, просим Вас оставить пометку об этом - напишите в тексте задания фразу "СРОЧНЫЙ ЗАКАЗ".

Купить эту работу

Тел.: +79374242235
Viber: +79374242235
Telegram: kursovikcom
ВКонтакте: kursovikcom
WhatsApp +79374242235
E-mail: info@kursovik.com
Skype: kursovik.com