| 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"
 |