diff --git a/fzn-parser/fznslurp.pl b/fzn-parser/fznslurp.pl index 62d9d0a..77c519c 100644 --- a/fzn-parser/fznslurp.pl +++ b/fzn-parser/fznslurp.pl @@ -38,10 +38,18 @@ load_ast((IN > INT), IN, OUT) :- load_ast(OP, INT, OUT). load_ast_deb(end_of_file, AST, AST). -load_ast_deb(IN > INT, IN, OUT) :- read(OP), !, - writeq(IN), write('.'), nl, - writeq(OP), nl, - load_ast_deb(OP, INT, OUT). +load_ast_deb((IN > INT :- MOD), IN, OUT) :- + ( call(MOD) -> format("EXT OK ~q\n", [MOD]) ; + format("EXT FAIL ~q\n", [MOD]), fail ), + read(OP), !, + writeq(IN), write('.'), nl, + writeq(OP), nl, + load_ast_deb(OP, INT, OUT). +load_ast_deb(IN > INT, IN, OUT) :- + read(OP), !, + writeq(IN), write('.'), nl, + writeq(OP), nl, + load_ast_deb(OP, INT, OUT). % ----------------------------------------------------------------------------- -- libgit2 0.21.2