Files
@ 658c1ca9f634
Branch filter:
Location: EI/VirtualLeaf/src/build_models/translate_plugin.pl - annotation
658c1ca9f634
2.0 KiB
text/x-perl
Added tag divide over principal axis for changeset df8602459ab0
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
|