944,201 Members | Top Members by Rank

Ad:
  • Perl Discussion Thread
  • Unsolved
  • Views: 2303
  • Perl RSS
Mar 23rd, 2007
0

Need help for conveting Perl Code to a C Code

Expand Post »
Hi,
I'm having a Perl Code and i want to convert it into a C Code.
I want to know is there any tool is available to do so?

If not available anybony can help me to convert??
plz mail me at nrk_jegan@yahoo.com

Regards,
Jeganathan K.
Last edited by JeganathanK; Mar 23rd, 2007 at 6:41 am.
Similar Threads
Reputation Points: 10
Solved Threads: 0
Newbie Poster
JeganathanK is offline Offline
5 posts
since Mar 2006
Mar 23rd, 2007
0

Re: Need help for conveting Perl Code to a C Code

perlcc that comes with the perl distribution
Last edited by masijade; Mar 23rd, 2007 at 2:02 pm. Reason: typo
Moderator
Reputation Points: 1471
Solved Threads: 490
Industrious Poster
masijade is offline Offline
4,043 posts
since Feb 2006
Mar 28th, 2007
0

Re: Need help for conveting Perl Code to a C Code

Can anyone convert this perl code into C Code???:!: :!:

Quote ...
Code:

open(IN, "$inname");

# read rest of input file in 64K junks
while(read(IN, $buffer, 64*1024))
{
$data .= $buffer;
}
close(IN);

my @data = split(//, $data);
my $color = 0;
my $lastcolor = 0;
my $layer = 0;
my $strokes = 0;
my $points = 0;
my $pointcmd = "S";

while($count < $#data) {
my $next = ord($data[$count++]);

if (($next & ~0x07) == 0x80)
{ # pen up/down
if ($next & 0x01)
{
$pointcmd = "S";
print "DEBUG pen down POSITION $count\n" if ($debug);
}
else
{
$pointcmd = "L\nE\n";
$strokes++;
print "DEBUG pen up POSITION $count\n" if ($debug);
}

$color = (($next >> 1) + ($layer * $colorlayers)) & 0x03;
print "DEBUG pen color $color\n" if ($debug);
if ($color != $lastcolor)
{
$lastcolor = $color;
print OUT "%%Color: $color\n";
print OUT ("0 0 0", "1 0 0", "0 1 0", "0 0 1")[$color] . " RGB\n";
}
}
elsif ($next == 0x88) { # time stamp
my $timestamp = ord($data[$count++]);
print "DEBUG TimeStamp $timestamp\n" if ($debug);
print OUT "%%TimeStamp: $timestamp\n" if ($timestamp < 0x7f);
}
elsif ($next == 0x90) { ## end of layer
$layer = ord($data[$count++]);
print "DEBUG End of LAYER $layer\n" if ($debug);
die("Layer # $layer > 127") if ($layer & 0x80);
print OUT "%%EndOfLayer: $layer\n\n";
}
elsif (!($next & ~0x7f)) { ## coordinates
my ($b1, $b2, $b3, $b4) = ($next, ord($data[$count+0]), ord($data[$count+1]), ord($data[$count+2]));
$count += 3;
printf "DEBUG CHECK position $count A %02x %02x %02x %02x\n", $b1, $b2, $b3, $b4 if ($debug);
# die("MSB set in coordinate bytes") if (($b1 | $$b2 | $b3 | $b4) & ~0x7f);

my $x = $b1 + ($b2 << 7);
my $y = $b3 + ($b4 << 7);
print "DEBUG $count: x = $x / y = $y\n" if ($debug);
print OUT "$x $y " . $pointcmd . "\n";
$points++;

$pointcmd = "L";
} else {
die("unknown byte " . sprintf("0x%02x", $next) . " at position $count");
}
}
Reputation Points: 10
Solved Threads: 0
Newbie Poster
JeganathanK is offline Offline
5 posts
since Mar 2006

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in Perl Forum Timeline: Help Me Urgent
Next Thread in Perl Forum Timeline: comparision of two files





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC