Создан заказ №1699429
25 января 2017
Пусть имеется анализатор в виде системы рекурсивных процедур построенных по некоторой грамматике в соответствии с методом рекурсивного спуска ( S — начальный символ грамматики)
Как заказчик описал требования к работе:
решить задания по предмету "Формальные языки и грамматики"
Фрагмент выполненной работы:
Пусть имеется анализатор в виде системы рекурсивных процедур, построенных по некоторой грамматике в соответствии с методом рекурсивного спуска ( S — начальный символ грамматики).
#include <iostream>using namespace std;int c; // текущий символvoid S();// объявления процедур, соответствующих нетерминалам грамматикиvoid A();…void gc() {cin >> c;} // считать очередной символvoid S() { … } // реализация процедур PC-методаvoid A() { … }…int main() {
try {
gc(); S(); if ( c != '' ) throw c;cout << "SUCCESS !!!" << endl;return 0;
}
catch (int c) {
cout << "ERROR on lexeme " << c << endl;return 1;
}
}
Восстановить грамматику по функциям, реализующим синтаксический анализ методом рекурсивного спуска. (работа была выполнена специалистами Автор 24) Удовлетворяет ли полученная грамматика критерию применимости метода рекурсивного спуска?
Вариант b
void S() { if (c == 'a') { gc(); A(); } else if (c == 'b') { gc(); B(); } else throw c;}void A() { if ( c == ‘c’) { gc( ); S( ); } }void B() { while ( c == ',' ) { gc( ); if (c != ’b’) throw c; gc(); }}
Решение:
S aA | bB
A cS
B ,bB | 1. Проверка на условие first() first ()
first (aA)={ a }, first (bB)={ b }
first (aA) first (bB)=
first (,bB)={ , }, first ()=
first (,bB) first ()=
2. Проверка на условие «справедливо не более чем одно из двух соотношений: , »
Правило, которое порождает пустую цепочку только одно.
3. Проверка на условие «если , то first(X) follow( X ) »
follow(S)=
first (S)={ a, b }
first (S)follow(S)=
follow(B)=
first (B)={ ‘,’ }
first (B)follow(B)=
Все три условия соблюдены, значит РС-метод применимПосмотреть предложения по расчету стоимости
Заказчик
заплатил
заплатил
200 ₽
Заказчик не использовал рассрочку
Гарантия сервиса
Автор24
Автор24
20 дней
Заказчик принял работу без использования гарантии
26 января 2017
Заказ завершен, заказчик получил финальный файл с работой
5
Пусть имеется анализатор в виде системы рекурсивных процедур построенных по некоторой грамматике в соответствии с методом рекурсивного спуска ( S — начальный символ грамматики).docx
2020-12-29 20:21
Последний отзыв студента о бирже Автор24
Общая оценка
4.3
Положительно
Большое спасибо. Работа выполнена качественно и в срок. Автор вежлива в общении, задавала вопросы и сделала всё как надо. Рекомендую.