You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
870 B
50 lines
870 B
#!/usr/bin/perl -w
|
|
|
|
$ops = "db.trans";
|
|
$src = "../../src/TEScreen.C";
|
|
$res1 = ">TEScreen.p1";
|
|
$res2 = ">TEScreen.p2";
|
|
|
|
open(OPS, $ops) || die "cannot open file '" . $ops . "'.";
|
|
|
|
my $tbl = {};
|
|
while (<OPS>)
|
|
{
|
|
chop; # strip record separator
|
|
my @Fld = split('\|', $_);
|
|
if ($Fld[2] && $Fld[2] eq 'scr')
|
|
{
|
|
$tbl->{$Fld[3]} = 1;
|
|
}
|
|
}
|
|
#foreach $p (sort keys %$tbl)
|
|
#{
|
|
# print $p, "\n";
|
|
#}
|
|
|
|
open(SRC, $src) || die "cannot open file '" . $src . "'.";
|
|
open(RES1, $res1) || die "cannot open file '" . $res1 . "'.";
|
|
open(RES2, $res2) || die "cannot open file '" . $res2 . "'.";
|
|
my $control = 0;
|
|
while (<SRC>)
|
|
{
|
|
chop;
|
|
if ( /void TEScreen::(.*)\((.*)\)/ && exists $tbl->{$1} )
|
|
{
|
|
print RES1 "\n";
|
|
$control = 1;
|
|
}
|
|
if ($control)
|
|
{
|
|
print RES1 $_, "\n";
|
|
}
|
|
else
|
|
{
|
|
print RES2 $_, "\n";
|
|
}
|
|
if ( /^}$/ )
|
|
{
|
|
$control = 0;
|
|
}
|
|
}
|