cut after compound check in (;)/2 only after semicolon_compound_selector succeeds

This commit is contained in:
Mark Thom
2020-05-01 21:40:36 -06:00
parent aa8659d5c7
commit 81f9666e82
2 changed files with 4 additions and 2 deletions

2
Cargo.lock generated
View File

@@ -512,6 +512,8 @@ dependencies = [
[[package]] [[package]]
name = "prolog_parser" name = "prolog_parser"
version = "0.8.55" version = "0.8.55"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bf0562d1a4c03539b8dae2eb6c7ce733f1a0bd3bdb476aaa3682414d7d540517"
dependencies = [ dependencies = [
"lexical", "lexical",
"num-rug-adapter", "num-rug-adapter",

View File

@@ -234,8 +234,8 @@ semicolon_compound_selector(';'(G2, G3), G4, B) :-
:- non_counted_backtracking (;)/3. :- non_counted_backtracking (;)/3.
;(G1, G4, B) :- ;(G1, G4, B) :-
compound(G1), compound(G1),
!, semicolon_compound_selector(G1, G4, B),
semicolon_compound_selector(G1, G4, B). !.
;(G1, G2, B) :- ;(G1, G2, B) :-
G1 == !, !, '$set_cp'(B), call(G2). G1 == !, !, '$set_cp'(B), call(G2).
;(G1, G2, B) :- ;(G1, G2, B) :-