Files
@ e730ce1f2d31
Branch filter:
Location: EI/VirtualLeaf/src/build_models/translate_plugin.pl - annotation
e730ce1f2d31
2.0 KiB
text/x-perl
Added second reaction-diffusion protocol: Fick's laws of diffusion.
--
user: Michael Guravage <michael.guravage@cwi.nl>
branch 'default'
changed src/protocols/MyDiffusionModel/mydiffusionmodel.cpp
--
user: Michael Guravage <michael.guravage@cwi.nl>
branch 'default'
changed src/protocols/MyDiffusionModel/mydiffusionmodel.cpp
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
|