Разработка системного программного обеспечения
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: реферат горы, реферат решение
| Добавил(а) на сайт: Lagranskij.
Предыдущая страница реферата | 1 2 3 4 5 | Следующая страница реферата
Сделаем замену нетерминальных символов:
< Оператор > ( Z
< УслВыр > ( A
< Терм > ( B
< Функция > ( C
< Список параметров > ( D
< Параметр > ( E
< Идентификатор > ( F
Сделаем замену терминальных символов:
IF ( a
( ( b
) ( c
; ( d
ELSE ( e
ЦБЗ ( f
Б ( g
( ( h
1. Z ( abAcC [ eC ]
2. A ( B | B < B | B > B | B = B
3. B ( F | f
4. C ( FbDcd
5. D ( E | h
6. E ( F | f | h
7. F ( g f
Вывод : G[Z] - автоматная грамматика.
Выбор метода анализа
Ссылаясь на однозначность выбранной грамматики, принимая во внимание хорошо разработанные системы анализа выбираем метод рекурсивного спуска – как базовый метод языкового процессора.
Диагностика и нейтрализация ошибок
Разработанный алгоритм относится к общеизвестному методу синтаксического разбора, предложенный Айресом.
Основная идея метода состоит в том, что по контексту без возврата отбрасываюся те символы, которые привели в тупиковую ситуацию и разбор продолжается.
Для наглядности изобразим куст синтаксического разбора для входного языка:
Дано:
IF ( A < Bc ) BULL () ;
1. Z ( abAcC [ eC ]
2. A ( B | B < B | B > B | B = B
3. B ( F | f
4. C ( FbDcd
5. D ( E | h
6. E ( F | f | h
7. F ( g f
Z
a b A c
C
B B F b c d
F F g { g }
g g {g} g g g g
IF ( A < Bc ) BULL (
) ;
Тестирование на цепочках
Протестируем данную программу на следующей языковой цепочке:
IF ( A < B ) BULL ( );
< Оператор >
a b < УслВыражение > c < Функция >
< Терм > < Терм > < Идент > b c d
< Идент > < Идент > g { g }
Рекомендуем скачать другие рефераты по теме: сочинение на тему образ, доклади.
Категории:
Предыдущая страница реферата | 1 2 3 4 5 | Следующая страница реферата