- See also
- -
library(optparse)
for comprehensive option parsing.
- library(prolog_stack)
to force backtraces in case of an
uncaught exception.
- XPCE users should have a look at library(pce_main)
, which
starts the GUI and processes events until all windows have gone.
This library is intended for supporting PrologScript on Unix using
the
#!
magic sequence for scripts using commandline options.
The entry point main/0 calls
the user-supplied predicate main/1 passing
a list of commandline options. Below is a simle echo
implementation in Prolog.
#!/usr/bin/env swipl
:- initialization(main, main).
main(Argv) :-
echo(Argv).
echo([]) :- nl.
echo([Last]) :- !,
write(Last), nl.
echo([H|T]) :-
write(H), write(' '),
echo(T).
- main
- Call main/1 using the passed command-line
arguments. Before calling
main/1 this predicate installs a signal
handler for
SIGINT
(Control-C) that terminates the process
with status 1.
- [det]argv_options(+Argv,
-RestArgv, -Options)
- Generic transformation of long commandline arguments to options. Each
--Name=Value is mapped to Name(Value). Each plain name is mapped to
Name(true), unless Name starts with
no-
, in which case the
option is mapped to Name(false). Numeric option values are mapped to
Prolog numbers.
- See also
library(optparse)
provides a more involved option library,
providing both short and long options, help and error handling. This
predicate is more for quick-and-dirty scripts.