lib/scripts/fixclasimp.pl
author kleing
Mon, 21 Jun 2004 10:25:57 +0200
changeset 14981 e73f8140af78
parent 9789 7e5e6c47c0b5
permissions -rw-r--r--
Merged in license change from Isabelle2004
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4077
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
     1
#
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
     2
# $Id$
9789
wenzelm
parents: 4110
diff changeset
     3
# Author: Markus Wenzel, TU Muenchen
4077
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
     4
#
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
     5
# fixclasimp.pl - fix references to implicit claset and simpset
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
     6
#
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
     7
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
     8
sub fixclasimp {
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
     9
    my ($file) = @_;
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
    10
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
    11
    open (FILE, $file) || die $!;
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
    12
    undef $/; $text = <FILE>; $/ = "\n";         # slurp whole file
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
    13
    close FILE || die $!;
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
    14
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
    15
    $_ = $text;
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
    16
4110
d7c963600bda fixed set_current_thy pattern;
wenzelm
parents: 4077
diff changeset
    17
    s/set_current_thy\s*"([^"]*)"/context $1.thy/sg;
4077
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
    18
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
    19
    s/!\s*simpset/simpset()/sg;
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
    20
    s/simpset\s*:=/simpset_ref() :=/sg;
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
    21
    s/simpset_of\s*"([^"]*)"/simpset_of $1.thy/sg;
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
    22
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
    23
    s/!\s*claset/claset()/sg;
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
    24
    s/claset\s*:=/claset_ref() :=/sg;
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
    25
    s/claset_of\s*"([^"]*)"/claset_of $1.thy/sg;
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
    26
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
    27
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
    28
    $result = $_;
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
    29
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
    30
    if ($text ne $result) {
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
    31
	print STDERR "fixing $file\n";
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
    32
        if (! -f "$file~~") {
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
    33
	    rename $file, "$file~~" || die $!;
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
    34
        }
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
    35
	open (FILE, "> $file") || die $!;
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
    36
	print FILE $result;
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
    37
	close FILE || die $!;
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
    38
    }
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
    39
}
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
    40
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
    41
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
    42
## main
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
    43
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
    44
foreach $file (@ARGV) {
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
    45
  eval { &fixclasimp($file); };
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
    46
  if ($@) { print STDERR "*** fixclasimp $file: ", $@, "\n"; }
8ce7c713968c fix references to implicit claset and simpset;
wenzelm
parents:
diff changeset
    47
}