Files
@ e956dea5765e
Branch filter:
Location: EI/VirtualLeaf/src/build_models/translate_plugin.pl - annotation
e956dea5765e
2.0 KiB
text/x-perl
Added tag rd and growth for changeset b5cc18bab697
413a4067bfff 413a4067bfff 413a4067bfff 413a4067bfff 413a4067bfff 413a4067bfff 413a4067bfff 413a4067bfff 413a4067bfff 413a4067bfff 413a4067bfff 413a4067bfff 413a4067bfff 413a4067bfff 413a4067bfff 413a4067bfff 782330072e62 782330072e62 782330072e62 782330072e62 782330072e62 782330072e62 782330072e62 782330072e62 782330072e62 413a4067bfff 782330072e62 782330072e62 782330072e62 782330072e62 782330072e62 782330072e62 782330072e62 782330072e62 782330072e62 782330072e62 782330072e62 782330072e62 782330072e62 782330072e62 782330072e62 782330072e62 782330072e62 413a4067bfff 413a4067bfff 413a4067bfff 413a4067bfff 413a4067bfff 413a4067bfff 782330072e62 782330072e62 782330072e62 782330072e62 782330072e62 782330072e62 782330072e62 782330072e62 782330072e62 782330072e62 782330072e62 782330072e62 782330072e62 782330072e62 782330072e62 782330072e62 413a4067bfff 413a4067bfff 413a4067bfff 413a4067bfff 413a4067bfff 413a4067bfff 782330072e62 782330072e62 782330072e62 782330072e62 782330072e62 782330072e62 782330072e62 782330072e62 782330072e62 | #!/usr/bin/perl
$cfilename = shift(@ARGV) || die "Usage: translate_plugin.pl [cfile] [hfile] [profile]\n";
$hfilename = shift(@ARGV) || die "Usage: translate_plugin.pl [cfile] [hfile] [profile]\n";
$pfilename = shift(@ARGV) || die "Usage: translate_plugin.pl [cfile] [hfile] [profile]\n";
$ocfname = $cfilename; $ocfname =~ s/\.cpp/_tl.cpp/g;
$ohfname = $hfilename; $ohfname =~ s/\.h/_tl.h/g;
$opfname = $pfilename; $opfname =~ s/\.pro/_tl.pro/g;
print STDERR "Translating '$cfilename' to '$ocfname', '$hfilename' to '$ohfname', and '$pfilename' to '$opfname'\n";
open cfile,"<$cfilename";
open ocfile,">$ocfname";
while (<cfile>) {
#s/$hfilename/$ohfname/g;
# translate function definitions
if (/[a-zA-Z0-9 ]*::OnDivide/) {
s/ParentInfo &parent_info/ParentInfo *parent_info/g;
s/CellBase &daughter1/CellBase *daughter1/g;
s/CellBase &daughter2/CellBase *daughter2/g;
}
if (/[a-zA-Z0-9 ]*::SetCellColor/) {
s/CellBase &c/CellBase *c/g;
s/QColor &color/QColor *color/g;
}
if (/[a-zA-Z0-9 ]*::CellHouseKeeping/) {
s/CellBase &c/CellBase *c/g;
}
# translate member function calls
s/\bparent_info\b\./parent_info->/g;
s/\bdaughter1\b\./daughter1->/g;
s/\bdaughter2\b\./daughter2->/g;
s/\bc\b\./c->/g;
s/\bcolor\b\./color->/g;
print ocfile;
}
open hfile,"<$hfilename";
open ohfile,">$ohfname";
while (<hfile>) {
if (/[ \t]*virtual[ \t]+void[ \t]+CellHouseKeeping/) {
s/CellBase &c/CellBase *c/g;
}
if (/[ \t]*virtual[ \t]+void[ \t]+OnDivide/) {
s/ParentInfo &parent_info/ParentInfo *parent_info/g;
s/CellBase &daughter1/CellBase *daughter1/g;
s/CellBase &daughter2/CellBase *daughter2/g;
}
if (/[ \t]*virtual[ \t]+void[ \t]+SetCellColor/) {
s/CellBase &c/CellBase *c/g;
s/QColor &color/QColor *color/g;
}
print ohfile;
}
open pfile,"<$pfilename";
open opfile,">$opfname";
while (<pfile>) {
s/\bplugin\b\.h/plugin_tl\.h/g;
s/\bplugin\b\.cpp/plugin_tl\.cpp/g;
print opfile;
}
#finis
|