Files
@ 5f261c001dd0
Branch filter:
Location: EI/VirtualLeaf/src/build_models/translate_plugin.pl - annotation
5f261c001dd0
2.0 KiB
text/x-perl
Removed tag v1.0
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
|