Ц
-
ЦИФРА
ДБЗ
-
ДРОБОВЕ БЕЗ ЗНАКА
L
-
КІНЕЦЬ РЯДКИ (порожньо)
**
-
ЗВЕДЕННЯ У СТУПІНЬ
Класифікація граматики.
Дана граматика G [<ОПЕРАТОР>], згідно з класифікацією Хомського, є контекстно-вільної, оскільки права частина кожної редукції починається або з термінального символу, або з нетермінального, що належить об'єднаному словником.
A В® a, A ГЋ V n , a ГЋ V * .
Граматика G [<ОПЕРАТОР>] не є автоматною, тому що не всі її редукції починаються з термінального символу. З цієї ж причини дана граматика не є S - граматикою.
Метод аналізу.
Для даної граматики реалізований розбір методом рекурсивного спуску, оскільки вона належить до класу контекстно-вільних.
Ідея методу полягає в тому, що кожному нетермінальному символу ставиться у відповідність певна програмна одиниця (функція), яка розпізнає ланцюжок, що породжуються цим нетерміналом.
Ці процедури і функції викликаються відповідно до правил граматики і іноді викликають самі себе.
Даний метод реалізований на мові C + +, оскільки він володіє рекурсивними можливостями.
Діагностика та нейтралізація помилок.
Для даної граматики проводиться тільки діагностика і нейтралізація помилок. Виправлення помилок не проводиться. p> Нейтралізація помилок здійснюється за методом Айронса, тобто, спускаючись по синтаксичному дереву без повернення по контексту, при виявленні тупикової ситуації відкидаються ті літери (символи), які привели в контексте і розбір триває.
Тестування.
Протокол роботи синтаксичного розпізнавача обчислюваного оператора переходу мови FORTRAN. p> GOTO A + B-DD ** (CC/(23 +34 ** R)) + Y * ((C))
AB - Перевірка на Арифметичне Вираз.
SCAN - Сканування. Поточний символ 'A' з кодом 65.
T - Перевірка на Терм.
O - Перевірка на Операнд.
IDENT - Перевірка на Ідентифікатор з символу A.
SCAN - Сканування. Поточний символ '+' з кодом 43.
AB...