Построение атрибутной транслирующей грамматики.
ПОСТРОЕНИЕ
ТРАНСЛИРУЮЩЕЙ ГРАММАТИКИ.
Для построения
транслирующей грамматики в самую крайнюю
правую позицию каждого i-го
правила вывода входной грамматики
вставляется операционный символ {СВЕРТКА
i}.
2.ДОБАВЛЕНИЕ
АТРИБУТОВ.
Введем в транслирующую
грамматику атрибуты и правила их
вычисления (далее предполагается, что
все атрибуты синтезированные):
Входной символ i
имеет два атрибута: первый может
принимать значения из множества
{МЕТКА,КОНСТАНТА,ПЕРЕМЕННАЯ},
а второй является указателем на элемент
таблицы идентификаторов.
Входной символ z
имеет два атрибута: первый может
принимать значения из множества
{МЕТКА,ЦЕЛОЕ},
а второй является указателем на элемент
таблицы числовых констант.
Входной символ S
имеет один атрибут, равный +1, если S=”+”,
и равный -1, если S=”-“.
Входные символы
AE,
AT,
AM
и AET
имеют
по одному атрибуту, значением которого
является целый результат подвыражения,
порождаемого этим нетерминалом.
Входные символы
SE,
STR, PS, CS, RS и
SET имеют
по одному атрибуту, значением которого
является бинарная строка - результат
подвыражения, порождаемого этим
нетерминалом.