Лабораторные на тему "Синтаксический разбор"
Лабораторная работа
в среде программирования Visual C++ .NET 2008
Среда программирования: 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 |