The mechanism with the next pointers for tac's was working fine as long as all
tac's were unique by construction. The macro mechanism made it possible for
the same tac to occur twice in the tree. This could lead to an infinite loop.
Now we make explicit copies of the top-level tac. This should fix the problem
caused by the tuple parsing.
A more fundamental solution is to make a deep copy of the substituted terms.
- Added rho/sigma/constants fields to the runs, on which the new code is
based. Over time, .locals should be deprecated in favour of these
better variants.
- Untyped variant is out of grace for the time being (cf. Athena interm
problems)
- Improved graph output further.
Minor:
- Added TERMLISTADD and APPEND macros for more concise code.
--tupling=n * 0: right-associative; 1: left-associative; others are
reserved for future use.
--ra-tupling * Sets the default, but is there for symmetry.
instead of the default right-associative tupling. Note that this only
matters for full typeflaw matching.
- Adapted multi-nsl test script to test for both association variants.