diff -r c839a4c670c6 -r c844b93dd147 lib/scripts/unsymbolize --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lib/scripts/unsymbolize Sun Feb 07 19:54:12 2010 +0100 @@ -0,0 +1,65 @@ +#!/usr/bin/env perl +# +# Author: Markus Wenzel, TU Muenchen +# +# unsymbolize.pl - remove unreadable symbol names from sources +# + +use warnings; +use strict; + +sub unsymbolize { + my ($file) = @_; + + open (FILE, $file) || die $!; + undef $/; my $text = ; $/ = "\n"; # slurp whole file + close FILE || die $!; + + $_ = $text; + + # Pure + s/\\?\\/!!/g; + s/\\?\\/::/g; + s/\\?\\/==>/g; + s/\\?\\\\?\\/==>/g; + s/\\?\\/=>/g; + s/\\?\\/==/g; + s/\\?\\/.../g; + s/\\?\\ ?/[| /g; + s/\\?\\ ?/ |]/g; + s/\\?\\ ?/(| /g; + s/\\?\\ ?/ |)/g; + # HOL + s/\\?\\/<->/g; + s/\\?\\/-->/g; + s/\\?\\\\?\\/-->/g; + s/\\?\\/->/g; + s/\\?\\/~/g; + s/\\?\\/~:/g; + s/\\?\\/~=/g; + s/\\?\\ ?/SOME /g; + # outer syntax + s/\\?\\/==/g; + s/\\?\\/=>/g; + s/\\?\\/<=/g; + + my $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 my $file (@ARGV) { + eval { &unsymbolize($file); }; + if ($@) { print STDERR "*** unsymbolize $file: ", $@, "\n"; } +}