
output.pl -- Emit sCASP terms
print_model_term(+Term, +Options) is det- Print a model element to the terminal.
connector(+Semantics, -Conn, +Options) is det- Get an ASCII or Unicode connector string with the claimed Semantics.
inline_constraints(+Term, +Options) is det- Get constraints on variables notated as
Var | {Constraints}
and
use assigned variable names. Note that this binds the attributed
variables in Term. This code is normally used on a copy or inside
double negation (\+ \+ ( inline_constraints(Term, Options),
...)
).
replace_var(+Var, +Name, +TermIn, -TermOut)[private]
ovar_analyze_term(+Term) is det
ovar_analyze_term(+Term, +Options) is det- Analyze variables in an output term. Adds attributes to these
variables that indicate their status and make this available through
ovar_is_singleton/1 and ovar_var_name/1.
ovar_clean(+Term)- Delete all attributes added by ovar_analyze_term/1
ovar_is_singleton(@Var) is semidet- True when Var is a singleton variable
ovar_set_name(+Var, +Name)- Set the name of Var to Name.
ovar_set_bindings(+Bindings) is det- Given Bindings as a list of
Name=Var
, set the names of the
variables.
ovar_var_name(@Var, -Name) is semidet- True when var is not a singleton and has the assigned name. Names
are assigned as A, B, ... A1, B1, ...
human_expression(:Tree, -Children, -Actions) is semidet- If there is a human print rule for Atom, return a list of format
actions as Actions. Actions is currently a list of
text(String)
and
@(Var:Type)
, where Type can be the empty atom.
match_node(+Spec, +Module, +Atom) is semidet[private]- Succeed if Spec (from the
:- pred
declaration) matches Atom from
the justification tree.
parse_fmt(+Fmt, +Args, -Actions) is det[private]- Translate a human template and its arguments into a list of actions
for our DCG. The template allows form interpolating a variable,
optionally with a type. The core translator adds ~p to the format
and a term @(Var:Type) or @(Var:'') to the arguments. Actions is a
list of
text(String)
or @(Var:Type).
Undocumented predicates
The following predicates are exported, but not or incorrectly documented.
print_connector(Arg1, Arg2)