bin/isabelle-process
changeset 51932 f196352201d6
parent 51312 0ce544fbb509
child 51938 cf9c8d8d8939
equal deleted inserted replaced
51931:7c517c92d315 51932:f196352201d6
    29   echo "    -I           startup Isar interaction mode"
    29   echo "    -I           startup Isar interaction mode"
    30   echo "    -P           startup Proof General interaction mode"
    30   echo "    -P           startup Proof General interaction mode"
    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 "    -X           startup PGIP interaction mode"
       
    35   echo "    -e MLTEXT    pass MLTEXT to the ML session"
    34   echo "    -e MLTEXT    pass MLTEXT to the ML session"
    36   echo "    -f           pass 'Session.finish();' to the ML session"
    35   echo "    -f           pass 'Session.finish();' to the ML session"
    37   echo "    -m MODE      add print mode for output"
    36   echo "    -m MODE      add print mode for output"
    38   echo "    -q           non-interactive session"
    37   echo "    -q           non-interactive session"
    39   echo "    -r           open heap file read-only"
    38   echo "    -r           open heap file read-only"
    62 ISAR=false
    61 ISAR=false
    63 PROOFGENERAL=""
    62 PROOFGENERAL=""
    64 SECURE=""
    63 SECURE=""
    65 WRAPPER_SOCKET=""
    64 WRAPPER_SOCKET=""
    66 WRAPPER_FIFOS=""
    65 WRAPPER_FIFOS=""
    67 PGIP=""
       
    68 MLTEXT=""
    66 MLTEXT=""
    69 MODES=""
    67 MODES=""
    70 TERMINATE=""
    68 TERMINATE=""
    71 READONLY=""
    69 READONLY=""
    72 NOWRITE=""
    70 NOWRITE=""
    73 
    71 
    74 while getopts "IPST:W:Xe:fm:qruw" OPT
    72 while getopts "IPST:W:e:fm:qruw" OPT
    75 do
    73 do
    76   case "$OPT" in
    74   case "$OPT" in
    77     I)
    75     I)
    78       ISAR=true
    76       ISAR=true
    79       ;;
    77       ;;
    86     T)
    84     T)
    87       WRAPPER_SOCKET="$OPTARG"
    85       WRAPPER_SOCKET="$OPTARG"
    88       ;;
    86       ;;
    89     W)
    87     W)
    90       WRAPPER_FIFOS="$OPTARG"
    88       WRAPPER_FIFOS="$OPTARG"
    91       ;;
       
    92     X)
       
    93       PGIP=true
       
    94       ;;
    89       ;;
    95     e)
    90     e)
    96       MLTEXT="$MLTEXT $OPTARG"
    91       MLTEXT="$MLTEXT $OPTARG"
    97       ;;
    92       ;;
    98     f)
    93     f)
   224   splitarray ":" "$WRAPPER_FIFOS"; FIFOS=("${SPLITARRAY[@]}")
   219   splitarray ":" "$WRAPPER_FIFOS"; FIFOS=("${SPLITARRAY[@]}")
   225   [ "${#FIFOS[@]}" -eq 2 ] || fail "Expected IN:OUT fifo specification"
   220   [ "${#FIFOS[@]}" -eq 2 ] || fail "Expected IN:OUT fifo specification"
   226   [ -p "${FIFOS[0]}" ] || fail "Bad input fifo: ${FIFOS[0]}"
   221   [ -p "${FIFOS[0]}" ] || fail "Bad input fifo: ${FIFOS[0]}"
   227   [ -p "${FIFOS[1]}" ] || fail "Bad output fifo: ${FIFOS[1]}"
   222   [ -p "${FIFOS[1]}" ] || fail "Bad output fifo: ${FIFOS[1]}"
   228   MLTEXT="$MLTEXT; Isabelle_Process.init_fifos \"${FIFOS[0]}\" \"${FIFOS[1]}\";"
   223   MLTEXT="$MLTEXT; Isabelle_Process.init_fifos \"${FIFOS[0]}\" \"${FIFOS[1]}\";"
   229 elif [ -n "$PGIP" ]; then
       
   230   MLTEXT="$MLTEXT; ProofGeneralPgip.init_pgip $ISAR;"
       
   231 elif [ -n "$PROOFGENERAL" ]; then
   224 elif [ -n "$PROOFGENERAL" ]; then
   232   MLTEXT="$MLTEXT; ProofGeneral.init $ISAR;"
   225   MLTEXT="$MLTEXT; ProofGeneral.init $ISAR;"
   233 elif [ "$ISAR" = true ]; then
   226 elif [ "$ISAR" = true ]; then
   234   if [ -z "$ISABELLE_PROCESS_OPTIONS" ]; then
   227   if [ -z "$ISABELLE_PROCESS_OPTIONS" ]; then
   235     ISABELLE_PROCESS_OPTIONS="$ISABELLE_TMP/options"
   228     ISABELLE_PROCESS_OPTIONS="$ISABELLE_TMP/options"