export.sh revision 11bed5e9b739f03c810e816ddcbeb865aff352f3
067b7cf571968fe8e91212059da1590c2dfa741aJonathan von Schroeder# ISABELLE_BIN_PATH (if isabelle is not located in PATH)
97dc615bc3ce381eaa3e75cc23dfc3c4b566d9a0Jonathan von Schroeder cd ${1%/*} &> /dev/null && echo $(pwd -P)/${1##*/};
97dc615bc3ce381eaa3e75cc23dfc3c4b566d9a0Jonathan von Schroederif [ ! -z $3 ]; then
067b7cf571968fe8e91212059da1590c2dfa741aJonathan von Schroederif [ -z $1 ]; then
97dc615bc3ce381eaa3e75cc23dfc3c4b566d9a0Jonathan von Schroeder echo "v0:Nothing to translate!" > $COMM_FILE
97dc615bc3ce381eaa3e75cc23dfc3c4b566d9a0Jonathan von Schroeder echo "v0:Cannot find $1" > $COMM_FILE
97dc615bc3ce381eaa3e75cc23dfc3c4b566d9a0Jonathan von Schroeder echo "v0:Cannot read file $TRANS.thy" > $COMM_FILE
97dc615bc3ce381eaa3e75cc23dfc3c4b566d9a0Jonathan von Schroederif [ ! -z $2 ]; then
067b7cf571968fe8e91212059da1590c2dfa741aJonathan von Schroeder ISABELLE="$ISABELLE_BIN_PATH/isabelle"
067b7cf571968fe8e91212059da1590c2dfa741aJonathan von Schroeder if [ ! -e $ISABELLE ]; then
97dc615bc3ce381eaa3e75cc23dfc3c4b566d9a0Jonathan von Schroeder echo "v0:Cannot find isabelle executable. Maybe you didn't specify ISABELLE_BIN_PATH correctly?" > $COMM_FILE
97dc615bc3ce381eaa3e75cc23dfc3c4b566d9a0Jonathan von Schroeder echo "v0:Cannot find isabelle executable. Maybe you need to specify ISABELLE_BIN_PATH?" > $COMM_FILE
067b7cf571968fe8e91212059da1590c2dfa741aJonathan von Schroederif [ ! -x $ISABELLE ]; then
97dc615bc3ce381eaa3e75cc23dfc3c4b566d9a0Jonathan von Schroeder echo "v0:$ISABELLE is not executable" > $COMM_FILE
97dc615bc3ce381eaa3e75cc23dfc3c4b566d9a0Jonathan von Schroederecho "v1:Starting Isabelle" > $COMM_FILE
97dc615bc3ce381eaa3e75cc23dfc3c4b566d9a0Jonathan von Schroederimports Datatype
97dc615bc3ce381eaa3e75cc23dfc3c4b566d9a0Jonathan von Schroederval out' = fn (f,i,s') =>
97dc615bc3ce381eaa3e75cc23dfc3c4b566d9a0Jonathan von Schroeder let val s = \"v\"^(Int.toString i)^\":\"^s'
97dc615bc3ce381eaa3e75cc23dfc3c4b566d9a0Jonathan von Schroeder \"/dev/stdin\" => TextIO.output (TextIO.stdOut,s)
97dc615bc3ce381eaa3e75cc23dfc3c4b566d9a0Jonathan von Schroederval out = fn (i,s) => out' (\"$COMM_FILE\",i,s);
97dc615bc3ce381eaa3e75cc23dfc3c4b566d9a0Jonathan von Schroederval v = fn s => out (1,s);
97dc615bc3ce381eaa3e75cc23dfc3c4b566d9a0Jonathan von Schroederval e = fn s => (out (0,s); exit 1);
97dc615bc3ce381eaa3e75cc23dfc3c4b566d9a0Jonathan von Schroederv \"Isabelle: Loading theory $TRANS\n\";
97dc615bc3ce381eaa3e75cc23dfc3c4b566d9a0Jonathan von Schroederv \"Isabelle: Loading helper library\n\";
97dc615bc3ce381eaa3e75cc23dfc3c4b566d9a0Jonathan von Schroederval T = Thy_Info.get_theory \"$TRANS_T\";
97dc615bc3ce381eaa3e75cc23dfc3c4b566d9a0Jonathan von Schroederv \"Isabelle: Exporting theory information\n\";
97dc615bc3ce381eaa3e75cc23dfc3c4b566d9a0Jonathan von Schroeder(File.write (Path.explode \"$OUT_FILE\")
97dc615bc3ce381eaa3e75cc23dfc3c4b566d9a0Jonathan von Schroeder (XML.string_of (ExportHelper.tinfo2xml T \"$TRANS_T\"
97dc615bc3ce381eaa3e75cc23dfc3c4b566d9a0Jonathan von Schroederhandle ExportHelper.ExportError msg => e msg;
97dc615bc3ce381eaa3e75cc23dfc3c4b566d9a0Jonathan von Schroederif grep -q "*** Error" $TEMP_FILE; then
97dc615bc3ce381eaa3e75cc23dfc3c4b566d9a0Jonathan von Schroeder echo "v0:Loading Theory failed" > $COMM_FILE
97dc615bc3ce381eaa3e75cc23dfc3c4b566d9a0Jonathan von Schroeder grep "\*\*\* " $TEMP_FILE | head -n-3 > $COMM_FILE