add display predicate

This commit is contained in:
Mark Thom
2018-01-14 22:11:02 -07:00
parent 58ba368280
commit 08b94dcdf5
9 changed files with 80 additions and 32 deletions

View File

@@ -335,8 +335,9 @@ pub enum CompareNumberQT {
pub enum QueryTerm {
Arg(Vec<Box<Term>>),
CallN(Vec<Box<Term>>),
Catch(Vec<Box<Term>>),
Catch(Vec<Box<Term>>),
Cut,
Display(Vec<Box<Term>>),
Functor(Vec<Box<Term>>),
Inlined(InlinedQueryTerm),
Is(Vec<Box<Term>>),
@@ -350,6 +351,7 @@ impl QueryTerm {
&QueryTerm::Arg(_) => 3,
&QueryTerm::Catch(_) => 3,
&QueryTerm::Throw(_) => 1,
&QueryTerm::Display(_) => 1,
&QueryTerm::Functor(_) => 3,
&QueryTerm::Inlined(ref term) => term.arity(),
&QueryTerm::Is(_) => 2,
@@ -747,6 +749,8 @@ pub enum ControlInstruction {
CatchCall,
CatchExecute,
Deallocate,
DisplayCall,
DisplayExecute,
Execute(Rc<Atom>, usize),
ExecuteN(usize),
FunctorCall,
@@ -767,6 +771,8 @@ impl ControlInstruction {
&ControlInstruction::Call(_, _, _) => true,
&ControlInstruction::CatchCall => true,
&ControlInstruction::CatchExecute => true,
&ControlInstruction::DisplayCall => true,
&ControlInstruction::DisplayExecute => true,
&ControlInstruction::Execute(_, _) => true,
&ControlInstruction::CallN(_) => true,
&ControlInstruction::ExecuteN(_) => true,