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