Hacker News new | past | comments | ask | show | jobs | submit | avuxo's comments login

I'm not particularly familiar with Delphi, but the issue here appears to be a combination of parenthetical grouping not being picked up and the program not knowing that "unsigned char" should become "byte".

Ex:

  unsigned char a = 255;
  unsigned char b = 255;
  if ((a + b) == 510) {
      puts("yes");
  }
becomes

  unsigned char a = 255;
  unsigned char b = 255;
  if a + b then = 510 then  begin 
    WriteLn('yes');
  end; 
instead of

  var a,b: byte;
  begin
      a := 255;
      b := 255;
      if (a + b) = 510 then begin
          writeln('yes');
      end;
It's also worth noting that assuming parenthetical grouping is fixed, the C code snippet should work fine; according to the online compiler I was toying around with, Pascal uses integer type promotion.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: