my %module; # $module{'module'}{'symbol'}=1/""
my %symbol; # $symbol{'symbol'}='module'
my %patch; # $patch{'module'}=1/undef
+my %stats; # $stats{'iswhat'}=42
while (<>) {
chomp;
next if /^\s*$/; # empty
}
$module{$module}{$symbol}=$iswhat ne "undef";
$symbol{$symbol}=$module;
+ $stats{$iswhat}++;
}
# file header
HERE
-my $symbols_undef=0;
for my $symbol (sort keys(%symbol)) {
my $def=$def{$symbol};
if (!$def) {
g_error("%s: Function '$symbol' NOT IMPLEMENTED",G_STRLOC);
}
HERE
- $symbols_undef++;
next;
}
if ($patch{$symbol{$symbol}} && "data" ne $def->{"type"}) {
}
# exit
-print STDERR "$0: Processed ".scalar(keys(%module))." modules, ".scalar(keys(%symbol))." symbols",
- " (".int(100*(1-$symbols_undef/scalar(keys(%symbol)))).'%'." implemented)\n";
-print STDERR "$0: warning: $symbols_undef symbols are NOT IMPLEMENTED yet!\n" if $symbols_undef;
+my $total=0;
+$total+=$_ for (values(%stats));
+my $statstring;
+for my $statname (sort keys(%stats)) {
+ $statstring.=" ".($statname || "define")."=".$stats{$statname}."(".int(100*$stats{$statname}/$total)."%)";
+ }
+print STDERR "$0: Processed ".scalar(keys(%module))." modules:".$statstring."\n";
exit 0;