497
правок
Изменения
→Пример работы с атрибутами в нисходящем разборе
$
В данном примере не требуется дерево разбора в явном виде. В данной реализации рекурсивные функции от нетерминалов получают на вход(если необходимо) наследуемые атрибуты узла и возвращают синтезируемые (результат вычислений соответствующего подвыражения). Как мы видим, $val$ - синтезируемый атрибут, $acc$ - наследуемый атрибут, $ADD$ - транслирующий символ.
E() : '''int'''
E'.val = E'(ADD.res)
'''return''' E'.val
'''return''' acc
'''default'''
</wikitex>
==Атрибуты в ANTLR==