lib/Tools/fixnumerals
author paulson
Mon, 16 Aug 1999 18:41:06 +0200
changeset 7218 bfa767b4dc51
parent 7065 aa1d0d620031
permissions -rwxr-xr-x
new theory Real/Hyperreal/HyperDef and file fuf.ML
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7065
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
     1
#!/bin/bash
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
     2
#
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
     3
# $Id$
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
     4
#
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
     5
# DESCRIPTION: fix occurences of numerals in HOL/ZF terms
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
     6
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
     7
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
     8
## diagnostics
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
     9
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    10
PRG=$(basename $0)
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    11
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    12
function usage()
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    13
{
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    14
  echo
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    15
  echo "Usage: $PRG [FILES|DIRS...]"
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    16
  echo
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    17
  echo "  Options are:"
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    18
  echo "    -c           add '(_::int)' type constraints (for HOL only)"
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    19
  echo
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    20
  echo "  Recursively find .thy/.ML files, fixing occurences of"
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    21
  echo "  HOL/ZF numerals: #42 becomes 42, #-42 becomes ~42".
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    22
  echo
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    23
  echo "  Renames old versions of FILES by appending \"~~\"."
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    24
  echo
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    25
  exit 1
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    26
}
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    27
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    28
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    29
## process command line
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    30
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    31
# options
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    32
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    33
CONSTRAINTS=false
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    34
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    35
while getopts "c" OPT
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    36
do
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    37
  case "$OPT" in
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    38
    c)
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    39
      CONSTRAINTS=true
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    40
      ;;
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    41
    \?)
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    42
      usage
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    43
      ;;
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    44
  esac
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    45
done
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    46
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    47
shift $(($OPTIND - 1))
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    48
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    49
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    50
# args
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    51
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    52
[ $# -eq 0 ] && usage
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    53
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    54
SPECS="$@"; shift $#
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    55
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    56
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    57
## main
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    58
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    59
#set by configure
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    60
AUTO_PERL=perl
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    61
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    62
find $SPECS \( -name \*.thy -o -name \*.ML \) -print | \
aa1d0d620031 fix occurences of numerals in HOL/ZF terms;
wenzelm
parents:
diff changeset
    63
  xargs $AUTO_PERL -w $ISABELLE_HOME/lib/scripts/fixnumerals.pl $CONSTRAINTS