Mercurial > hg > GearsTemplate
diff src/parallel_execution/generate_stub.pl @ 254:edb3aff688d0
fix generator CLI
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 27 Jan 2017 10:10:09 +0900 |
parents | ebc13549394c |
children | 79bbe2c63fb0 |
line wrap: on
line diff
--- a/src/parallel_execution/generate_stub.pl Thu Jan 26 19:52:08 2017 +0900 +++ b/src/parallel_execution/generate_stub.pl Fri Jan 27 10:10:09 2017 +0900 @@ -1,6 +1,7 @@ #!/usr/bin/perl use strict; +use Getopt::Std; # interface.cbc # typedef struct Worker { @@ -13,9 +14,10 @@ # struct Queue* tasks; # } Worker; -#while (<*.cbc>) { -while (<SingleLinkedStack.cbc>) { - my $fn = $_; +our($opt_o,$opt_h); +getopts('o:h'); + +for my $fn (@ARGV) { &getDataGear($fn); &generateDataGear($fn); } @@ -102,20 +104,28 @@ sub generateDataGear { my ($filename) = @_; - my $fn1 = $filename; - $fn1 =~ s/\.cbc/.c/; open my $in,"<",$filename or die("can't open $filename $!"); - my $i = 1; - my $fn = $fn1; - while ( -f $fn) { - $fn = "$fn1.$i"; - $i++; + + my $fn; + if ($opt_o) { + $fn = $opt_o; + } else { + my $fn1 = $filename; + $fn1 =~ s/\.cbc/.c/; + my $i = 1; + $fn = $fn1; + while ( -f $fn) { + $fn = "$fn1.$i"; + $i++; + } } open my $fd,">",$fn or die("can't write $fn $!"); + my $prevCodeGearName; my $inTypedef = 0; my %stub; my $codeGearName; + while (<$in>) { if (! $inTypedef) { if (/^typedef struct (\w+) {/) {