5.5. Упражнения.
1) Для заданного правила АТ-грамматики, определить какие атрибуты могут быть использованы в качестве аргументов в правилах вычисления, чтобы правило было L-атрибутным.
а) <I>%a/b
Ю
<A>%c<B>%d/e<C>%f/g<D>%h/k
b := c*b+1; g
:= b*b; k :=
e+g; a := d*2;
б) <I>%a/b
Ю
$;
a := sqrt(b);
3) Проверьте, является ли грамматика Г 5. 1 L-грамматикой и представьте ее в форме простого присваивания.
4) Для следующих транслирующих грамматик
построить LАТ-грамматики в форме
простого присваивания, обеспечивающие получение на выходе последовательности
атомов с аргументами в виде указателей на таблицу значений, полагая, что
терминальные символы, соответствующие идентификаторам, имеют атрибуты в
виде указателей на таблицу значений.
а) транслирующей грамматики Г
5. 0
б) транслирующей грамматики, построенной
по грамматике Г 5. 1.
5) Построить LАТ-грамматику для трансляции префиксных арифметических выражений, состоящих из идентификаторов, имеющих атрибуты в виде указателей на таблицу значений, и знаков операций + и *, в последовательность атомов с аргументами в виде указателей на элементы таблицы значений.