linux/drivers/md/unroll.pl
<<
>>
Prefs
   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
  11while ( 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