Учебное пособие: Разработка в структурно логической схемы микропроцессора
7
d
8
f
f
f
t
1 действие - begin считывается и проверяется. Стек пуст, и используется в стек разборах для указания адресов возврата. Переходим на строку 2. Проверяем и принимаем begin.
В таблице каждому шагу разбора соответствует один элемент. В процессе разбора осуществляется:
Считываем и проверяем предварительно просматриваемый символ. С тем, чтобы выяснить не является ли он направляющим для какой либо конкретной правой части порождающего правила. Если этот символ не направляющий, то она проверяется на следующем этапе.
Осуществляется проверка терминала, появляющаяся в правой части порождающего правила.
Проверка не терминала. Она заключается в проверке нахождения предварительно просматриваемого символа, в одном из множеств направляющих символов. Помещения в стек адреса возврата и переходу к первому правилу относящемуся к данному правилу. Если нетерминал появляется в конце правой части, то нет необходимости помещать в стек. Программа содержит цикл процедуры. Тело которое обрабатывает элемент таблицы разбора и определяется следующий элемент для обработки. Если предварительно просматриваемый элемент отсутствует в списке системы и значение поле ошибки окажется ложью, нужно обрабатывать следующий элемент с тем же символом. Ели предварительно просматриваемый символ не содержится в текущем и поле ошибки t, то выдается сообщение о синтаксической ошибке.
Преимущества:
Никогда не требуется преимущества возврата, поскольку этот метод не терминированный.
Имеются хорошие диагностические характеристики, и существует возможность исправления ошибок. Так как синтаксические ошибки распознаются по первому не приемлемому символу, а в таблице разборов есть список возможных символов продолжения.
Таблица разбора меньше чем соответствующие таблицы в других методах, значит скорость выше.
LL1 разбор применяется к широкому классу языков, однако в большинстве случаев требуется ручное преобразование.
LR(1) – снизу в верх, разбираемый детерминированный. К – используется правосторонний разбор, от начального символа.1 - фиксированное число предварительно просматриваемых символов. Первое действие – сдвиг, во время которого считывается и помещается в стек символ, это соответствует продвижению на один пункт вдоль какого либо правила грамматики. Приведение, во время которого множество элементов верхней части стека замещается каким либо не терминалом грамматики.
Лекция 14.12.07
S - > real IDLIST
IDLIST - >IDLIST
IDLIST - > ID
ID - > a b с d
Стек символов
A ID IDLIST
Real real real
ID
IDLIST
Real
Чтобы построить таблицу разбора необходимо найти все состояния г