From 24d6fb16a84e7550275315f6734cf06efd5b8abc Mon Sep 17 00:00:00 2001 From: Mark Thom Date: Mon, 7 May 2018 22:29:02 -0600 Subject: [PATCH] add system call preliminaries --- src/prolog/macros.rs | 6 ------ src/prolog/toplevel.rs | 5 ++++- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/prolog/macros.rs b/src/prolog/macros.rs index aff35e35..140791f9 100644 --- a/src/prolog/macros.rs +++ b/src/prolog/macros.rs @@ -769,12 +769,6 @@ macro_rules! cyclic_term_execute { ) } -macro_rules! skip_max_list_execute { - () => ( - Line::Control(ControlInstruction::CallClause(ClauseType::SkipMaxList, 4, 0, true)) - ) -} - macro_rules! return_from_clause { ($lco:expr, $machine_st:expr) => {{ if $lco { diff --git a/src/prolog/toplevel.rs b/src/prolog/toplevel.rs index 10cab7db..abab0688 100644 --- a/src/prolog/toplevel.rs +++ b/src/prolog/toplevel.rs @@ -399,7 +399,10 @@ impl RelationWorker { Term::Var(_, ref v) if v.as_str() == "!" => Ok(QueryTerm::UnblockedCut(Cell::default())), Term::Clause(r, name, mut terms, fixity) => - if let Some(inlined_ct) = InlinedClauseType::from(name.as_str(), terms.len()) { + if let Some(system_ct) = SystemClauseType::from(name.as_str(), terms.len()) { + Ok(QueryTerm::Clause(r, ClauseType::System(system_ct), terms)) + } + else if let Some(inlined_ct) = InlinedClauseType::from(name.as_str(), terms.len()) { Ok(QueryTerm::Clause(r, ClauseType::Inlined(inlined_ct), terms)) } else if name.as_str() == ";" { if terms.len() == 2 { -- 2.54.0