An attribute of a node type T with value of type U which has a circular definition.
Support for parameterised attributes: argument, node pair comparison.
Define a circular attribute of T nodes of type U by the function f.
Define a circular attribute of T nodes of type U by the function f. f is allowed to depend on the value of this attribute, which will be given by init initially and will be evaluated iteratively until a fixed point is reached (in conjunction with other circular attributes on which it depends). The final value is cached.
Define an attribute of T nodes of type U given by the constant value u.
Define an attribute of T nodes of type U given by the constant value u. u is evaluated at most once.
Base support for attribution of syntax trees in a functional style. Includes circular attributes but needs to be augmented with basic attributes and parameterised attributes.