equal
deleted
inserted
replaced
31 echo " -S secure mode -- disallow critical operations" |
31 echo " -S secure mode -- disallow critical operations" |
32 echo " -T ADDR startup process wrapper, with socket address" |
32 echo " -T ADDR startup process wrapper, with socket address" |
33 echo " -W IN:OUT startup process wrapper, with input/output fifos" |
33 echo " -W IN:OUT startup process wrapper, with input/output fifos" |
34 echo " -e MLTEXT pass MLTEXT to the ML session" |
34 echo " -e MLTEXT pass MLTEXT to the ML session" |
35 echo " -m MODE add print mode for output" |
35 echo " -m MODE add print mode for output" |
|
36 echo " -o OPTION override Isabelle system OPTION (via NAME=VAL or NAME)" |
36 echo " -q non-interactive session" |
37 echo " -q non-interactive session" |
37 echo " -r open heap file read-only" |
38 echo " -r open heap file read-only" |
38 echo " -w reset write permissions on OUTPUT" |
39 echo " -w reset write permissions on OUTPUT" |
39 echo |
40 echo |
40 echo " INPUT (default \"$ISABELLE_LOGIC\") and OUTPUT specify in/out heaps." |
41 echo " INPUT (default \"$ISABELLE_LOGIC\") and OUTPUT specify in/out heaps." |
61 SECURE="" |
62 SECURE="" |
62 WRAPPER_SOCKET="" |
63 WRAPPER_SOCKET="" |
63 WRAPPER_FIFOS="" |
64 WRAPPER_FIFOS="" |
64 MLTEXT="" |
65 MLTEXT="" |
65 MODES="" |
66 MODES="" |
|
67 declare -a SYSTEM_OPTIONS=() |
66 TERMINATE="" |
68 TERMINATE="" |
67 READONLY="" |
69 READONLY="" |
68 NOWRITE="" |
70 NOWRITE="" |
69 |
71 |
70 while getopts "IPST:W:e:m:qrw" OPT |
72 while getopts "IPST:W:e:m:o:qrw" OPT |
71 do |
73 do |
72 case "$OPT" in |
74 case "$OPT" in |
73 I) |
75 I) |
74 ISAR=true |
76 ISAR=true |
75 ;; |
77 ;; |
92 if [ -z "$MODES" ]; then |
94 if [ -z "$MODES" ]; then |
93 MODES="\"$OPTARG\"" |
95 MODES="\"$OPTARG\"" |
94 else |
96 else |
95 MODES="\"$OPTARG\", $MODES" |
97 MODES="\"$OPTARG\", $MODES" |
96 fi |
98 fi |
|
99 ;; |
|
100 o) |
|
101 SYSTEM_OPTIONS["${#SYSTEM_OPTIONS[@]}"]="$OPTARG" |
97 ;; |
102 ;; |
98 q) |
103 q) |
99 TERMINATE=true |
104 TERMINATE=true |
100 ;; |
105 ;; |
101 r) |
106 r) |
213 [ -p "${FIFOS[0]}" ] || fail "Bad input fifo: ${FIFOS[0]}" |
218 [ -p "${FIFOS[0]}" ] || fail "Bad input fifo: ${FIFOS[0]}" |
214 [ -p "${FIFOS[1]}" ] || fail "Bad output fifo: ${FIFOS[1]}" |
219 [ -p "${FIFOS[1]}" ] || fail "Bad output fifo: ${FIFOS[1]}" |
215 MLTEXT="$MLTEXT; Isabelle_Process.init_fifos \"${FIFOS[0]}\" \"${FIFOS[1]}\";" |
220 MLTEXT="$MLTEXT; Isabelle_Process.init_fifos \"${FIFOS[0]}\" \"${FIFOS[1]}\";" |
216 else |
221 else |
217 ISABELLE_PROCESS_OPTIONS="$ISABELLE_TMP/options" |
222 ISABELLE_PROCESS_OPTIONS="$ISABELLE_TMP/options" |
218 "$ISABELLE_TOOL" options -x "$ISABELLE_PROCESS_OPTIONS" || fail "Failed to retrieve options" |
223 "$ISABELLE_TOOL" options -x "$ISABELLE_PROCESS_OPTIONS" -- "${SYSTEM_OPTIONS[@]}" || \ |
|
224 fail "Failed to retrieve Isabelle system options" |
219 if [ "$INPUT" != RAW_ML_SYSTEM -a "$INPUT" != RAW ]; then |
225 if [ "$INPUT" != RAW_ML_SYSTEM -a "$INPUT" != RAW ]; then |
220 MLTEXT="Options.load_default () handle _ => exit 2; $MLTEXT" |
226 MLTEXT="Options.load_default () handle _ => exit 2; $MLTEXT" |
221 fi |
227 fi |
222 if [ -n "$PROOFGENERAL" ]; then |
228 if [ -n "$PROOFGENERAL" ]; then |
223 MLTEXT="$MLTEXT; ProofGeneral.init ();" |
229 MLTEXT="$MLTEXT; ProofGeneral.init ();" |