p>
ЦИФРА
ДБЗ
-
ДРОБОВЕ БЕЗ ЗНАКА
L
-
КІНЕЦЬ РЯДКИ (порожньо)
**
-
ЗВЕДЕННЯ У СТУПІНЬ
Класифікація граматики.
Дана граматика G [<ОПЕРАТОР>], згідно з класифікацією Хомського, є контекстно-вільної, оскільки права частина кожної редукції починається або з термінального символу, або з нетермінального, що належить об'єднаному словником.
A В® a, A ГЋ V n , a ГЋ V * .
Граматика G [<ОПЕРАТОР>] не є автоматною, тому що не всі її редукції починаються з термінального символу. З цієї ж причини дана граматика не є S - граматикою.
Метод аналізу.
Для даної граматики реалізований розбір методом рекурсивного спуску, оскільки вона належить до класу контекстно-вільних.
Ідея методу полягає в тому, що кожному нетермінальному символу ставиться у відповідність певна програмна одиниця (функція), яка розпізнає ланцюжок, що породжуються цим нетерміналом.
Ці процедури і функції викликаються відповідно до правил граматики і іноді викликають самі себе.
Даний метод реалізований на мові C + +, оскільки він володіє рекурсивними можливостями.
Діагностика та нейтралізація помилок.
Для даної граматики проводиться тільки діагностика і нейтралізація помилок. Виправлення помилок не проводиться. p> Нейтралізація помилок здійснюється за методом Айронса, тобто, спускаючись по синтаксичному дереву без повернення по контексту, при виявленні тупикової ситуації відкидаються ті літери (символи), які привели в контексте і розбір триває.
Тестування.
12 = 1
Ім'я ідентифікатора має починатися з літери.
------------------------------------------- --------------
s223 = (s) + (((d)))
ПОМИЛОК НІ!!!
------------------------------------------- --------------
sdsds = skshj ** mxnx dc
Некоректна операція або неправильне ім'я ідентифікатора.
------------------------------------------- --------------
;; = 0
Ім'я ідентифікатора має починатися з літери.
Ідентифікатор складається тільки з букв або цифр. <...