| 
10555
 | 
     1  | 
#!/usr/bin/env bash
  | 
| 
10026
 | 
     2  | 
#
  | 
| 
 | 
     3  | 
# Author: Markus Wenzel, TU Muenchen
  | 
| 
 | 
     4  | 
#
  | 
| 
 | 
     5  | 
# DESCRIPTION: remove unreadable symbol names from sources
  | 
| 
 | 
     6  | 
  | 
| 
 | 
     7  | 
  | 
| 
 | 
     8  | 
## diagnostics
  | 
| 
 | 
     9  | 
  | 
| 
10511
 | 
    10  | 
PRG="$(basename "$0")"
  | 
| 
10026
 | 
    11  | 
  | 
| 
 | 
    12  | 
function usage()
  | 
| 
 | 
    13  | 
{
 | 
| 
 | 
    14  | 
  echo
  | 
| 
28650
 | 
    15  | 
  echo "Usage: isabelle $PRG [FILES|DIRS...]"
  | 
| 
10026
 | 
    16  | 
  echo
  | 
| 
52617
 | 
    17  | 
  echo "  Recursively find .thy/.ML files and remove symbols that are unreadably"
  | 
| 
 | 
    18  | 
  echo "  in plain text (e.g. \<Longrightarrow>)."
  | 
| 
 | 
    19  | 
  echo
  | 
| 
10026
 | 
    20  | 
  echo "  Note: this is an ad-hoc script; there is no systematic way to replace"
  | 
| 
 | 
    21  | 
  echo "  symbols independently of the inner syntax of a theory!"
  | 
| 
 | 
    22  | 
  echo
  | 
| 
52617
 | 
    23  | 
  echo "  Old versions of files are preserved by appending \"~~\"."
  | 
| 
10026
 | 
    24  | 
  echo
  | 
| 
 | 
    25  | 
  exit 1
  | 
| 
 | 
    26  | 
}
  | 
| 
 | 
    27  | 
  | 
| 
 | 
    28  | 
  | 
| 
 | 
    29  | 
## process command line
  | 
| 
 | 
    30  | 
  | 
| 
 | 
    31  | 
[ "$#" -eq 0 -o "$1" = "-?" ] && usage
  | 
| 
 | 
    32  | 
  | 
| 
 | 
    33  | 
SPECS="$@"; shift "$#"
  | 
| 
 | 
    34  | 
  | 
| 
 | 
    35  | 
  | 
| 
 | 
    36  | 
## main
  | 
| 
 | 
    37  | 
  | 
| 
52617
 | 
    38  | 
find $SPECS \( -name \*.ML -o -name \*.thy \) -print0 | \
  | 
| 
 | 
    39  | 
  xargs -0 "$ISABELLE_HOME/lib/scripts/unsymbolize"
  |