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

Алгоритм Айронса по исправлению ошибок



Пусть xjy — куст исходной программы, где x — построенная часть, jy — недостроенная часть, jÎ VT

1. Строим список L из литер недостающих частей неполных кустов.

2. Головной терминальный символ j в цепочке jy проверяется и отбрасывается (при этом каждый раз получается новая цепочка jy) до тех пор, пока не найдется такой символ j, что будет иметь место V =>* j... (выводимость).

3. Определяется неполный куст, ставший причиной появления ошибки.

4. Определяется терминальная цепочка q. Если её поставить перед j, то продолжение разбора приведёт к правильной привязке к неполному кусту, найденному на шаге 3, и всем кустам поддерева. Для каждого такого куста генерируется цепочка терминалов, до полного поддерева, а катенация этих цепочек дает q.

5. Цепочка q вставляется непосредственно перед j и разбор продолжается, начиная с головного символа цепочки q, который становится входным.

Для нашего примерацепочка X º {i=i+}

j º) jy º);

xjy, jÎVt

1) L = {;, T, +}

2) j º); P ® A;

Необходимо вставить цепочку q, чтобы дополнить E®T{+T}, при этом проще всего в качестве цепочки q, рассмотреть символ i. (q = i).

Тогда дерево будет иметь следующий вид (рис. 5.20.).

Рис. 5.20. Дерево с нейтрализацией ошибки





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



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