Preprocess-Ops
view release on metacpan or search on metacpan
lib/Preprocess/Ops.pm view on Meta::CPAN
genHash(q(PreprocessOpsMap), # Methods and structures in the C file being preprocessed
methods => \%methods, # Methods.
structures => \%structures, # Structure definitions.
);
}
sub printData($$) #P Print statement
{my ($lineNumber, $line) = @_; # Code line number, code line
my ($command, @w) = split m/\s+/, $line; # Parse print line
my @f;
for my $w(@w) # Each variable to be printed
{push @f, join ' ', $w, "=", $w =~ m((\A|\.|\->)[i-n]) ? "%lu" : "%s";
}
my $f = join " ", @f;
my $w = join ", ", @w;
my $l = $lineNumber + 1;
qq(fprintf(stderr, "Line $l: $f\\n", $w);\n);
}
lib/Preprocess/Ops.pm view on Meta::CPAN
}
my @c;
for(my $i = 0; $i < @code; ++$i) # Expand exports/include commands in included file
{my $c = $code[$i]; # With trailing comment
my $d = $c =~ s(//.*\Z) ()gsr; # Without trailing comment
if ($c =~ m(\Ainclude)) # Expand include files so that we can pull in code and structures from other files in the includes folder.
{push @c, &includeFile($i, $file, $cFile, $hFile, $d);
}
elsif ($c =~ m(\Aexports\s)) # Add exports from included package if named in the include list
{my ($command, $name, @exports) = split m/\s+/, $d; # Export command, list name, exports in list
if ($items{qq(:$name)}) # Requested this list
{for my $e(@exports) # Add exports unless they have been excluded
{$items{$e} ++ unless $items{qq(!$e)};
}
}
}
elsif (method($c) or structure($c)) # Method or structure definition
{if ($c =~ m((\S+)\s*//)) # Method or structure name
{my $item = $1;
if ($command =~ m(include) && $items {$item}) # Include specifies the exact name of the thing we want
lib/Preprocess/Ops.pm.backup view on Meta::CPAN
genHash(q(PreprocessOpsMap), # Methods and structures in the C file being preprocessed
methods => \%methods, # Methods.
structures => \%structures, # Structure definitions.
);
}
sub printData($$) #P Print statement
{my ($lineNumber, $line) = @_; # Code line number, code line
my ($command, @w) = split m/\s+/, $line; # Parse print line
my @f;
for my $w(@w) # Each variable to be printed
{push @f, join ' ', $w, "=", $w =~ m((\A|\.|\->)[i-n]) ? "%lu" : "%s";
}
my $f = join " ", @f;
my $w = join ", ", @w;
my $l = $lineNumber + 1;
qq(fprintf(stderr, "Line $l: $f\\n", $w);\n);
}
lib/Preprocess/Ops.pm.backup view on Meta::CPAN
}
my @c;
for(my $i = 0; $i < @code; ++$i) # Expand exports/include commands in included file
{my $c = $code[$i]; # With trailing comment
my $d = $c =~ s(//.*\Z) ()gsr; # Without trailing comment
if ($c =~ m(\Ainclude)) # Expand include files so that we can pull in code and structures from other files in the includes folder.
{push @c, &includeFile($i, $file, $cFile, $hFile, $d);
}
elsif ($c =~ m(\Aexports\s)) # Add exports from included package if named in the include list
{my ($command, $name, @exports) = split m/\s+/, $d; # Export command, list name, exports in list
if ($items{qq(:$name)}) # Requested this list
{for my $e(@exports) # Add exports unless they have been excluded
{$items{$e} ++ unless $items{qq(!$e)};
}
}
}
elsif (method($c) or structure($c)) # Method or structure definition
{if ($c =~ m((\S+)\s*//)) # Method or structure name
{my $item = $1;
if ($command =~ m(include) && $items {$item}) # Include specifies the exact name of the thing we want
( run in 1.544 second using v1.01-cache-2.11-cpan-71847e10f99 )