From: Mark Thom Date: Sat, 4 Nov 2017 02:44:35 +0000 (-0600) Subject: inline atomic and var X-Git-Tag: v0.8.110~686 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=28069a301eadf5108bedaa33bcb2d560de85a1b5;p=scryer-prolog.git inline atomic and var --- diff --git a/src/prolog/codegen.rs b/src/prolog/codegen.rs index ac6d01d2..c2db9bf1 100644 --- a/src/prolog/codegen.rs +++ b/src/prolog/codegen.rs @@ -291,10 +291,10 @@ impl<'a, TermMarker: Allocator<'a>> CodeGenerator<'a, TermMarker> &QueryTermRef::IsAtomic(term) => match term { &Term::AnonVar | &Term::Clause(_, _, _) | &Term::Cons(_, _, _) => { - code.push(goto!(61, 0)); // goto false/0. + code.push(fail!()); //goto!(61, 0)); // goto false/0. }, &Term::Constant(_, _) => { - code.push(goto!(75, 0)); // goto succeed/0. + code.push(succeed!()); //goto!(75, 0)); // goto succeed/0. }, &Term::Var(ref vr, ref name) => { let mut target = Vec::new(); @@ -308,10 +308,10 @@ impl<'a, TermMarker: Allocator<'a>> CodeGenerator<'a, TermMarker> &QueryTermRef::IsVar(term) => match term { &Term::Constant(_, _) | &Term::Clause(_, _, _) | &Term::Cons(_, _, _) => { - code.push(goto!(61, 0)); // goto false/0. + code.push(fail!()); //goto!(61, 0)); // goto false/0. }, &Term::AnonVar => { - code.push(goto!(75, 0)); // goto succeed/0. + code.push(succeed!()); //goto!(75, 0)); // goto succeed/0. }, &Term::Var(ref vr, ref name) => { let mut target = Vec::new(); diff --git a/src/prolog/parser b/src/prolog/parser index bd67de18..da30488d 160000 --- a/src/prolog/parser +++ b/src/prolog/parser @@ -1 +1 @@ -Subproject commit bd67de182d877db77ccd209be1b5a1d1ecf01855 +Subproject commit da30488df7e1a35f8ab0c0678cea85474a47a7ee