equal
deleted
inserted
replaced
1 #!/usr/bin/env perl |
|
2 # |
|
3 # Author: Makarius |
|
4 # |
|
5 # update_sub_sup - update Isabelle symbols involving sub/superscripts |
|
6 |
|
7 use warnings; |
|
8 use strict; |
|
9 |
|
10 sub update_sub_sup { |
|
11 my ($file) = @_; |
|
12 |
|
13 open (FILE, $file) || die $!; |
|
14 undef $/; my $text = <FILE>; $/ = "\n"; # slurp whole file |
|
15 close FILE || die $!; |
|
16 |
|
17 $_ = $text; |
|
18 |
|
19 s/\Q\<^isub>\E/\\<^sub>/g; |
|
20 s/\Q\<^isup>\E/\\<^sup>/g; |
|
21 s/\Q\<onesuperior>\E/\\<^sup>1/g; |
|
22 s/\Q\<twosuperior>\E/\\<^sup>2/g; |
|
23 s/\Q\<threesuperior>\E/\\<^sup>3/g; |
|
24 |
|
25 my $result = $_; |
|
26 |
|
27 if ($text ne $result) { |
|
28 print STDERR "changing $file\n"; |
|
29 if (! -f "$file~~") { |
|
30 rename $file, "$file~~" || die $!; |
|
31 } |
|
32 open (FILE, "> $file") || die $!; |
|
33 print FILE $result; |
|
34 close FILE || die $!; |
|
35 } |
|
36 } |
|
37 |
|
38 |
|
39 ## main |
|
40 |
|
41 foreach my $file (@ARGV) { |
|
42 eval { &update_sub_sup($file); }; |
|
43 if ($@) { print STDERR "*** update_sub_sup $file: ", $@, "\n"; } |
|
44 } |
|