summaryrefslogtreecommitdiff
path: root/support/splint/scripts/cslist.pl
blob: d1df62bc07bf45797d853252bc6095b6595f5fac (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
for ($i = 0; $i <= $#ARGV; $i++) {

    open FILE, "<$ARGV[$i]" or die "Cannot open file $ARGV[$i]!\n";
    $filename = $ARGV[$i];

    while(<FILE>) {

        $text = $_;
        
        while( $text =~ /(\\newcount|\\newtoks|\\newdimen|\\newif|\\let|\\([exg]|char|toks|count)*def)\w*(\\[a-zA-Z@]+)/g ) {

            $cs = $3;
	    push @all, $cs;

	    if ( defined $secse{$cs}->{$filename} ) { $secse{$cs}->{$filename}++; }
	    else { $secse{$cs}->{$filename} = 1; };
	    
	}
	
    }
}
#print keys %secse;
@alphsecs = sort keys %secse;

foreach $ocs (@alphsecs) {

    print "$ocs %";
    @fnames = sort keys $secse{$ocs};
    foreach $fname (@fnames) { 
	print " $fname ($secse{$ocs}->{$fname} occurence";
        if ( $secse{$ocs}->{$fname} > 1 ) {print "s";}   
        print ")"; 
    }
    print "\n";
}

print "\n";
$i = $#alphsecs;
$i++;
print "total sequences: $i\n";