doc-src/TutorialI/Overview/LNCS/makeDemo
author chaieb
Wed, 19 May 2004 11:23:59 +0200
changeset 14758 af3b71a46a1c
parent 13262 bbfc360db011
permissions -rwxr-xr-x
A new implementation for presburger arithmetic following the one suggested in technical report Chaieb Amine and Tobias Nipkow. It is generic an smaller. the tactic has also changed and allows the abstaction over fuction occurences whose type is nat or int.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
13262
bbfc360db011 *** empty log message ***
nipkow
parents:
diff changeset
     1
#!/usr/bin/perl -w
bbfc360db011 *** empty log message ***
nipkow
parents:
diff changeset
     2
bbfc360db011 *** empty log message ***
nipkow
parents:
diff changeset
     3
sub doit {
bbfc360db011 *** empty log message ***
nipkow
parents:
diff changeset
     4
    my ($file) = @_;
bbfc360db011 *** empty log message ***
nipkow
parents:
diff changeset
     5
bbfc360db011 *** empty log message ***
nipkow
parents:
diff changeset
     6
    open (FILE, $file) || die $!;
bbfc360db011 *** empty log message ***
nipkow
parents:
diff changeset
     7
    undef $/; $text = <FILE>; $/ = "\n";
bbfc360db011 *** empty log message ***
nipkow
parents:
diff changeset
     8
    close FILE || die $!;
bbfc360db011 *** empty log message ***
nipkow
parents:
diff changeset
     9
bbfc360db011 *** empty log message ***
nipkow
parents:
diff changeset
    10
    $_ = $text;
bbfc360db011 *** empty log message ***
nipkow
parents:
diff changeset
    11
bbfc360db011 *** empty log message ***
nipkow
parents:
diff changeset
    12
    s/text_raw\{\*([^*]|\*[^}])*\*\}//sg;       # actual work done here
bbfc360db011 *** empty log message ***
nipkow
parents:
diff changeset
    13
    s/text\{\*([^*]|\*[^}])*\*\}//sg;       # actual work done here
bbfc360db011 *** empty log message ***
nipkow
parents:
diff changeset
    14
    s/\(\*<\*\)//sg;
bbfc360db011 *** empty log message ***
nipkow
parents:
diff changeset
    15
    s/\(\*>\*\)//sg;
bbfc360db011 *** empty log message ***
nipkow
parents:
diff changeset
    16
bbfc360db011 *** empty log message ***
nipkow
parents:
diff changeset
    17
    $result = $_;
bbfc360db011 *** empty log message ***
nipkow
parents:
diff changeset
    18
bbfc360db011 *** empty log message ***
nipkow
parents:
diff changeset
    19
    if ($text ne $result) {
bbfc360db011 *** empty log message ***
nipkow
parents:
diff changeset
    20
        print STDERR "fixing $file\n";
bbfc360db011 *** empty log message ***
nipkow
parents:
diff changeset
    21
#        if (! -f "$file~~") {
bbfc360db011 *** empty log message ***
nipkow
parents:
diff changeset
    22
#            rename $file, "$file~~" || die $!;
bbfc360db011 *** empty log message ***
nipkow
parents:
diff changeset
    23
#        }
bbfc360db011 *** empty log message ***
nipkow
parents:
diff changeset
    24
        open (FILE, "> Demo/$file") || die $!;
bbfc360db011 *** empty log message ***
nipkow
parents:
diff changeset
    25
        print FILE $result;
bbfc360db011 *** empty log message ***
nipkow
parents:
diff changeset
    26
        close FILE || die $!;
bbfc360db011 *** empty log message ***
nipkow
parents:
diff changeset
    27
    }
bbfc360db011 *** empty log message ***
nipkow
parents:
diff changeset
    28
}
bbfc360db011 *** empty log message ***
nipkow
parents:
diff changeset
    29
bbfc360db011 *** empty log message ***
nipkow
parents:
diff changeset
    30
bbfc360db011 *** empty log message ***
nipkow
parents:
diff changeset
    31
foreach $file (@ARGV) {
bbfc360db011 *** empty log message ***
nipkow
parents:
diff changeset
    32
  eval { &doit($file); };
bbfc360db011 *** empty log message ***
nipkow
parents:
diff changeset
    33
  if ($@) { print STDERR "*** doit $file: ", $@, "\n"; }
bbfc360db011 *** empty log message ***
nipkow
parents:
diff changeset
    34
}