summaryrefslogtreecommitdiff
path: root/repl.pl
diff options
context:
space:
mode:
authorPeter Mikkelsen <peter@pmikkelsen.com>2021-07-16 20:30:26 +0000
committerPeter Mikkelsen <peter@pmikkelsen.com>2021-07-16 20:30:26 +0000
commit8a1e32e6a8c441f8358bd580c655d5ff48716fa0 (patch)
tree916964771773b144ba5a4ec7e61ac22860122e99 /repl.pl
parentc8867502df27f516b0d46b1a254f0da572bdadb6 (diff)
Handle -d option in prolog
Diffstat (limited to 'repl.pl')
-rw-r--r--repl.pl13
1 files changed, 12 insertions, 1 deletions
diff --git a/repl.pl b/repl.pl
index 1a2087a..a936535 100644
--- a/repl.pl
+++ b/repl.pl
@@ -1,13 +1,24 @@
:- module(repl, []).
-repl(Args) :-
+repl([ProgName|Args]) :-
write('Welcome to p-prolog version 1'),
nl,
write('Started with args: '),
write(Args),
nl,
+ handle_args(Args),
repl_loop.
+handle_arg('-d') :-
+ set_prolog_flag(debug, on).
+handle_arg(Arg) :-
+ write('Unhandled command line argument: '),
+ writeq(Arg),
+ nl.
+
+handle_args([Arg|Rest]) :- handle_arg(Arg), !, handle_args(Rest).
+handle_args([]).
+
repl_loop :-
catch(read_eval_print, E, print_exception(E)),
'$collect_garbage',