Пред.СтраницаСлед.Страница Раздел Содержание
5.4.3. Описание работы АП
В процессе работы АТ-преобразователь должен читать символы, находящиеся в вершине магазина, и выполнять действия, связанные не только с распознаванием входной цепочки и формированием выходной цепочки, но и действия по обработке атрибутов, которые можно описать в виде следующих правил.
1) Обработка входной цепочки начинается, когда в магазине находится
начальный символ грамматики и маркер дна. Первая инструкция
преобразователя должна заносить в магазин начальный символ грамматики и
присваивать наследуемым атрибутам начального символа начальные значения. При
этом поля синтезируемых атрибутов заполняются пустыми указателями.
2) Если в вершине магазина находится входной символ, имеющий атрибут, то
производится считывание очередного символа с входной ленты, и эти символы
сравниваются. Если они совпадают, то читается атрибут входного символа с ленты
и записывается в ячейки магазина, образующие цепочку, на которую ссылается
указатель, записанный в поле атрибута рассматриваемого входного символа. Затем
входной символ и его атрибут удаляются из магазина, и входная головка
сдвигается.
3) Если в вершине магазина находится входной символ, не имеющий атрибута, то
производится считывание очередного входного символа с входной ленты, и эти
символы сравниваются. Если они совпадают, то символ удаляется из магазина, и
входная головка сдвигается на одну позицию.
4) Если в вершине магазина находится символ действия, то выполняется чтение
атрибутов, соответствующих его аргументам, затем вычисляются значения в
соответствии с функцией символа действия синтезируемых атрибутов, и эти
значения помещаются во все поля, определяемые цепочкой указателей, на которую
ссылается указатель в поле синтезируемого атрибута. Если символ действия должен
передаваться на выход, то осуществляется запись этого символа и его атрибутов
на выходную ленту.
5) Если в вершине магазина находится нетерминал, то он удаляется из магазина и
вместо него в магазине строится фрагмент, соответствующий правой части правила
грамматики, и устанавливаются связи этого фрагмента с атрибутами удаленного
символа, которые оказываются расположенными непосредственно под создаваемым
фрагментом. Такие связи должны быть определены в инструкции построения
фрагмента.
6) Если в вершине магазина находится атрибут, значение которого определено, то
он удаляется из магазина.