Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Метод Айронса



Основная идея — по контексту без возврата отбрасывать литеры, которые привели к тупиковой ситуации (когда продолжение анализа по грамматике невозможно) и разбор продолжается. Для иллюстрации метода рассмотрим грамматику:

G [P]:

1. P ® A

2. A ® i = E

3. E ® T{+T}

4. T ® O{*O}

5. O ® i | (E)

Представленная грамматика G [P] является усечением арифметического оператора присваивания, причём усечение выполнено на уровне операнда и операций. Это не нарушает общности грамматики и сделано для того, чтобы не увеличивать размерность синтаксического дерева.

Пример 5.4. i = i +)

Этот оператор присваивания явно не соответствует грамматике G [P]. Построим синтаксическое дерево для этой основы (рис.5.19).

Рис. 5.19. Дерево с диагностикой ошибки

В общем случае обнаружение ошибки соответствует следующей схеме разбора:

Z =>* X1X2 … Xi-1Xi … Xn,

где (X1X2 … Xi-1) — построенная часть куста; (Xi … Xn) — недостроенная часть куста), которую нельзя построить с помощью G [Z].

Часто при диагностике, в тупиковой ситуации на экран выводится недостроенная часть или “хвост” сентенциальной формы. Задачей проектировщика процессора ошибок при нейтрализации является следующее:

1) недопущение ошибки, с целью дальнейшего разбора;

2) исправление допущенной ошибки и дальнейший нормальный анализ.





Дата публикования: 2014-11-04; Прочитано: 766 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...