Приведение грамматики к виду LL(1)
[Скачать с сервера (79.5 Kb) - бесплатно] | 09.02.2009, 19:14 |
Цель – поиск направляющих символов сконструированной КС-грамматики языка и преобразование ее к виду LL(1).
Содержание
Фрагменты из методичкиОсновные сведенияРассмотрим более подробно группу КС-грамматик, так как они являются наиболее универсальными и поэтому более пригодны в качестве основы для описания языков программирования, а, следовательно, и для фазы синтаксического анализа ( разбора ) компиляции. КС-грамматики, в свою очередь, делятся на три класса:
Появление данной классификации КС-грамматик связано со следующей проблемой. Попытаемся на основе грамматики Разбирать это предложение, в принципе, можно в любом порядке. Это может быть как левый вывод, т.е. последовательная подстановка самых левых НТ-символов правила. Это может быть правый вывод, т.е. последовательная подстановка самых правых НТ-символов правила на каждом шаге вывода. Также вывод может осуществляться и в смешанном порядке. Стратегия вывода ощутимо влияет на эффективность процесса. Каким бы ни был порядок вывода, отдельные шаги состоят из попыток подыскать правило подстановки, подходящее для рассматриваемого участка строки. Так, например, пройдя с самого начала по первым альтернативам правил мы бы сделали вывод о невозможности дальнейшего разбора указанного предложения и неминуемо бы совершили возврат ко второй альтернативе первого правила. Таким образом, чем сложнее грамматика, тем более долгим и запутанным становится алгоритм разбора предложения. Следовательно, конструируемая грамматика должна обладать некоторыми специальными свойствами, позволяющими осуществлять детерминированный ( безвозвратный ) вывод любого предложения. И т.д. (остальное, с картинками, в приложенном файле). Добавил: COBA (09.02.2009) | Категория: Основы трансляции Просмотров: 6551 | Загрузок: 1803 | Рейтинг: 5.0/2 | Теги: |
Комментарии (0) | |