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.
An attribute of a node type T with value of type U, supported by a circularity test.
A variation of the UncachedAttribute class for parameterised attributes.
Define an attribute of T nodes of type U by the function f, which should not depend on the value of this attribute.
Define an attribute of T nodes of type U by the function f, which should not depend on the value of this attribute. The computed attribute value is cached so it will be computed at most once.
Define an attribute of T nodes of type U by the function f, which takes the current node and its parent as its arguments.
Define an attribute of T nodes of type U by the function f, which takes the current node and its parent as its arguments. T must be Attributable so that parents can be accessed.
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.
Define an attribute of T nodes of type U by the function f, which takes an argument of type TArg.
Define an attribute of T nodes of type U by the function f, which takes an argument of type TArg. The computed attribute value for a given TArg is cached so it will be computed at most once.
Attribution of syntax trees in a functional style with attribute values computed each time they are accessed.