home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / drivers / md / unroll.pl < prev   
Encoding:
Perl Script  |  2008-12-24  |  492 b   |  25 lines

  1. #!/usr/bin/perl
  2. #
  3. # Take a piece of C code and for each line which contains the sequence $$
  4. # repeat n times with $ replaced by 0...n-1; the sequence $# is replaced
  5. # by the unrolling factor, and $* with a single $
  6. #
  7.  
  8. ($n) = @ARGV;
  9. $n += 0;
  10.  
  11. while ( defined($line = <STDIN>) ) {
  12.     if ( $line =~ /\$\$/ ) {
  13.     $rep = $n;
  14.     } else {
  15.     $rep = 1;
  16.     }
  17.     for ( $i = 0 ; $i < $rep ; $i++ ) {
  18.     $tmp = $line;
  19.     $tmp =~ s/\$\$/$i/g;
  20.     $tmp =~ s/\$\#/$n/g;
  21.     $tmp =~ s/\$\*/\$/g;
  22.     print $tmp;
  23.     }
  24. }
  25.