When you write your own visualizers, you might not be satisfied with the
default format of the legend. Therefore you might want to write your
own legend printer, replacing
fdbg_legend/[1,2]. This should be
quite straightforward based on the variable list returned by
fdbg_annotate/[3,4]. Processing the rest of the action
list and writing conclusions about the constraint behavior is not
that easy though. To help your work, FDBG provides a predicate to
transform the raw action list to a more readable form:
fdbg_transform_actions(+Actions, +Vars, -TransformedActions)
This will do the following transformations to Actions, returning the result in TransformedActions:
fdvar/3compound term per variable.
The transformed action list may contain the following terms:
the constraint exits
the constraint fails due to a
the constraint fails because of Action
Actions originally contained this action. FDBG cannot do anything with that but to inform the user about it.
fdvar(Name, Var, FDSet)
Actions also narrowed some variables that did not appear in the Vars list, this is one of them. The meaning of the arguments is the usual, described in FDBG Writing Visualizers. This should normally not happen.
Actions contained unrecognized actions too, these are copied unmodified. This should not happen!