fix references to obsolete Pure/Sequence structure;
authorwenzelm
Fri, 21 Nov 1997 13:54:31 +0100
changeset 4268 90779455c9a7
parent 4267 cdc193e38925
child 4269 a045600f0c98
fix references to obsolete Pure/Sequence structure;
lib/Tools/fixseq
lib/scripts/fixseq.pl
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/Tools/fixseq	Fri Nov 21 13:54:31 1997 +0100
@@ -0,0 +1,40 @@
+#!/bin/bash
+#
+# $Id$
+#
+# DESCRIPTION: fix references to obsolete Pure/Sequence structure
+
+
+## diagnostics
+
+PRG=$(basename $0)
+
+function usage()
+{
+  echo
+  echo "Usage: $PRG [FILES|DIRS...]"
+  echo
+  echo "  Recursively find .ML files, fixing references to"
+  echo "  the obsolete Pure/Sequence structure."
+  echo
+  echo "  Renames old versions of FILES by appending \"~~\"."
+  echo
+  exit 1
+}
+
+
+## process command line
+
+[ $# -eq 0 -o "$1" = "-?" ] && usage
+
+SPECS="$@"; shift $#
+
+
+## main
+
+PERL=$(type -path perl)
+if [ -z $PERL ]; then
+  echo "$PRG fatal error: no perl!?"
+else
+  find $SPECS -name \*.ML -print | xargs $PERL $ISABELLE_HOME/lib/scripts/fixseq.pl
+fi
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/scripts/fixseq.pl	Fri Nov 21 13:54:31 1997 +0100
@@ -0,0 +1,57 @@
+#
+# $Id$
+#
+# fixseq.pl - fix references to obsolete Pure/Sequence structure
+#
+
+sub fixseq {
+    my ($file) = @_;
+
+    open (FILE, $file) || die $!;
+    undef $/; $text = <FILE>; $/ = "\n";         # slurp whole file
+    close FILE || die $!;
+
+    $_ = $text;
+
+
+    s/Sequence\.tl/Seq.tl/sg;
+    s/Sequence\.single/Seq.single/sg;
+    s/Sequence\.seqof/Seq.make/sg;
+    s/Sequence\.seq/Seq.seq/sg;
+    s/Sequence\.s_of_list/Seq.of_list/sg;
+    s/Sequence\.pull/Seq.pull/sg;
+    s/Sequence\.prints/Seq.print/sg;
+    s/Sequence\.null/Seq.empty/sg;
+    s/Sequence\.maps/Seq.map/sg;
+    s/Sequence\.mapp/Seq.mapp/sg;
+    s/Sequence\.list_of_s/Seq.list_of/sg;
+    s/Sequence\.its_right/Seq.it_right/sg;
+    s/Sequence\.interleave/Seq.interleave/sg;
+    s/Sequence\.hd/Seq.hd/sg;
+    s/Sequence\.flats/Seq.flat/sg;
+    s/Sequence\.filters/Seq.filter/sg;
+    s/Sequence\.cons/Seq.cons/sg;
+    s/Sequence\.chop/Seq.chop/sg;
+    s/Sequence\.append/Seq.append/sg;
+
+
+    $result = $_;
+
+    if ($text ne $result) {
+	print STDERR "fixing $file\n";
+        if (! -f "$file~~") {
+	    rename $file, "$file~~" || die $!;
+        }
+	open (FILE, "> $file") || die $!;
+	print FILE $result;
+	close FILE || die $!;
+    }
+}
+
+
+## main
+
+foreach $file (@ARGV) {
+  eval { &fixseq($file); };
+  if ($@) { print STDERR "*** fixseq $file: ", $@, "\n"; }
+}