comparison contrib/filter_knr2ansi.pl @ 0:a06113de4d67

first commit
author kent <kent@cr.ie.u-ryukyu.ac.jp>
date Fri, 17 Jul 2009 14:47:48 +0900
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:a06113de4d67
1 #!/usr/bin/perl
2 #
3 # Goes through the input line by line to find K&R style function
4 # declarations, and replaces them with ANSI style declarations.
5 #
6 @blah = <>;
7
8 for ($i = 0; $i < @blah; $i++)
9 {
10 if ($blah[$i] =~ /^([a-zA-Z_0-9]+)\s*\([^)]+\)\s*$/)
11 {
12 $name = $1;
13 $funci = $i;
14 $blah[$funci]="$name (";
15 $i++;
16 $lastline = $i;
17 while ($lastline < @blah && $blah[$lastline] !~ /^{/)
18 {
19 $lastline++;
20 }
21 $lastline--;
22 while ($i < @blah && $blah[$i] !~ /^{/)
23 {
24 $arg = $blah[$i];
25 if ($i != $lastline)
26 {
27 $arg =~ s/;/,/g;
28 }
29 else
30 {
31 $arg =~ s/;//g;
32 }
33 $blah[$i] = "";
34 $blah[$funci] = "$blah[$funci]" . "$arg";
35 $i++;
36 }
37 $blah[$funci] = "$blah[$funci]" . ")\n";
38 }
39 }
40
41 for ($i = 0; $i < @blah; $i++)
42 {
43 print $blah[$i];
44 }
45