summaryrefslogtreecommitdiff
path: root/regress/style/check_pcb.pl
blob: 3ab695e5e68ebf03da616a91fbe1f72b365e0ff2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/usr/bin/env perl
#
# $FML: check_pcb.pl,v 1.3 2004/03/14 07:04:47 fukachan Exp $
#

use strict;
use Carp;
use FileHandle;

my $wh     = \*STDOUT; # new FileHandle " | rev | sort +2 | rev ";
my $fn     = '';
my $format = "%-10s %-40s %3s %s\n";

$| = 1;

printf $format, "module", "function", "", "category";
printf $format, "", "", "<--", "(get value)";
printf $format, "", "", "-->", "(set value)";
print "-" x 80;
print "\n";

while (<>) {
    if (/^sub\s+(\S+)/) {
	$fn = $1;
    }
    elsif (/^\}/) {
	$fn = '';
    }

    if ($fn) {
	if (/\$pcb->set\("(\S+)",/) {
	    printf $wh $format, cleanup($ARGV), $fn, "-->", $1;
	}

	if (/\$pcb->get\("(\S+)",/) {
	    printf $wh $format, cleanup($ARGV), $fn, "<--", $1;
	}
    }
}

exit 0;

sub cleanup
{
    my ($s) = @_;

    $s =~ s@.pm$@@;
    $s =~ s@//@/@g;
    $s =~ s@FML/Process/@@g;

    return $s;
}