Implement Parameter interpolation
Parameters can now reference each other, and resolution happens in
topological order. This is done in two steps: while merging already
walks the entire dictionary, a list of references and their occurrences
is kept. After merging is complete, interpolate() is called on the
instance, which recursively resolves the references found during
merging. If a referenced value itself contains other references, those
are resolved first (which is the topological ordering).
Signed-off-by: martin f. krafft <madduck@madduck.net>
3 files changed