lib/Tools/codegen
author haftmann
Thu, 04 Oct 2007 19:41:55 +0200
changeset 24841 df8448bc7a8b
parent 24620 40811901b998
child 25451 7bd190cac91e
permissions -rwxr-xr-x
concept for exceptions
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
21884
7df02627898e added isatool codegen
haftmann
parents:
diff changeset
     1
#!/usr/bin/env bash
7df02627898e added isatool codegen
haftmann
parents:
diff changeset
     2
#
7df02627898e added isatool codegen
haftmann
parents:
diff changeset
     3
# $Id$
7df02627898e added isatool codegen
haftmann
parents:
diff changeset
     4
# Author: Florian Haftmann, TUM
7df02627898e added isatool codegen
haftmann
parents:
diff changeset
     5
#
7df02627898e added isatool codegen
haftmann
parents:
diff changeset
     6
# DESCRIPTION: issue code generation from shell
7df02627898e added isatool codegen
haftmann
parents:
diff changeset
     7
7df02627898e added isatool codegen
haftmann
parents:
diff changeset
     8
7df02627898e added isatool codegen
haftmann
parents:
diff changeset
     9
## diagnostics
7df02627898e added isatool codegen
haftmann
parents:
diff changeset
    10
7df02627898e added isatool codegen
haftmann
parents:
diff changeset
    11
PRG="$(basename "$0")"
7df02627898e added isatool codegen
haftmann
parents:
diff changeset
    12
7df02627898e added isatool codegen
haftmann
parents:
diff changeset
    13
function usage()
7df02627898e added isatool codegen
haftmann
parents:
diff changeset
    14
{
7df02627898e added isatool codegen
haftmann
parents:
diff changeset
    15
  echo
7df02627898e added isatool codegen
haftmann
parents:
diff changeset
    16
  echo "Usage: $PRG IMAGE THY SERI"
7df02627898e added isatool codegen
haftmann
parents:
diff changeset
    17
  echo
7df02627898e added isatool codegen
haftmann
parents:
diff changeset
    18
  echo "  Issues code generation using image IMAGE,"
7df02627898e added isatool codegen
haftmann
parents:
diff changeset
    19
  echo "  theory THY,"
24620
40811901b998 adjusted
haftmann
parents: 24220
diff changeset
    20
  echo "  with Isar command 'export_code SERI'"
21884
7df02627898e added isatool codegen
haftmann
parents:
diff changeset
    21
  echo
7df02627898e added isatool codegen
haftmann
parents:
diff changeset
    22
  exit 1
7df02627898e added isatool codegen
haftmann
parents:
diff changeset
    23
}
7df02627898e added isatool codegen
haftmann
parents:
diff changeset
    24
7df02627898e added isatool codegen
haftmann
parents:
diff changeset
    25
7df02627898e added isatool codegen
haftmann
parents:
diff changeset
    26
## process command line
7df02627898e added isatool codegen
haftmann
parents:
diff changeset
    27
7df02627898e added isatool codegen
haftmann
parents:
diff changeset
    28
[ "$#" -lt 2 -o "$1" = "-?" ] && usage
7df02627898e added isatool codegen
haftmann
parents:
diff changeset
    29
7df02627898e added isatool codegen
haftmann
parents:
diff changeset
    30
IMAGE="$1"; shift
7df02627898e added isatool codegen
haftmann
parents:
diff changeset
    31
THY="$1"; shift
7df02627898e added isatool codegen
haftmann
parents:
diff changeset
    32
SERI="$1"
7df02627898e added isatool codegen
haftmann
parents:
diff changeset
    33
7df02627898e added isatool codegen
haftmann
parents:
diff changeset
    34
7df02627898e added isatool codegen
haftmann
parents:
diff changeset
    35
## main
7df02627898e added isatool codegen
haftmann
parents:
diff changeset
    36
7df02627898e added isatool codegen
haftmann
parents:
diff changeset
    37
SERI=$(echo $SERI | sed -e 's/\\/\\\\"/g; s/"/\\\"/g')
24220
a479ac416ac2 adjusted
haftmann
parents: 22346
diff changeset
    38
CMD="Isar.toplevel (fn _ => (use_thy \"$THY\"; CodePackage.codegen_command (theory \"$THY\") \"$SERI\"))"
21884
7df02627898e added isatool codegen
haftmann
parents:
diff changeset
    39
7df02627898e added isatool codegen
haftmann
parents:
diff changeset
    40
"$ISABELLE" -q -e "$CMD" "$IMAGE"