fork(2) download
  1. /* package whatever; // don't place package name! */
  2.  
  3. #!/usr/bin/perl
  4. use encoding 'utf8';
  5. use integer;
  6.  
  7. my $filename = shift || 'liu-uni.tab';
  8. open F, '<:raw', $filename or die $!;
  9. {
  10. use bytes;
  11. local $/;
  12. @b = map ord, split //,<F>;
  13. }
  14. close F;
  15.  
  16. $i1 = getint16(0);
  17. $words = getint16(4);
  18. $i2 = $i1 + getint16(2); # or + ($words*2+7)/8
  19. $i3 = $i2 + getint16(6); # or + ($words*1+7)/8
  20. $i4 = $i3 + getint16(6); # or + ($words*1+7)/8
  21.  
  22. #printf "words %d 0x%x\n", $words, $words;
  23. #printf "i1=0x%x, i2=0x%x, i3=0x%x, i4=0x%x\n", $i1, $i2, $i3, $i4;
  24.  
  25. my @rootkey = (split //," abcdefghijklmnopqrstuvwxyz,.'[]");
  26. for my$i(0 .. 1023) {
  27. my @key; $key[0] = $rootkey[$i/32];
  28. $key[1] = $rootkey[$i%32];
  29. next if $key[0] eq ' ';
  30.  
  31. for $ci(getint16($i*2) .. getint16($i*2+2)-1) {
  32. my $bit24 = getbits($i4, 24, $ci);
  33. my $hi = getbits($i1, 2, $ci);
  34. my $lo = $bit24 & 0x3fff;
  35. #printf "%x %04x\t", $hi, $lo;
  36.  
  37. $key[2] = $rootkey[$bit24>>19];
  38. $key[3] = $rootkey[$bit24>>14 & 0x1f];
  39.  
  40. my $flag_unknown = getbits($i2, 1, $ci);
  41. my $flag_sp = getbits($i3, 1, $ci);
  42.  
  43. print join '', @key;
  44. $char = chr($hi<<14 | $lo);
  45. printf "\t%s", $char;
  46. printf "\t%s", $flag_sp?' ':'*';
  47. printf "%s", $flag_unknown?' ':'+';
  48. print "\n";
  49. }
  50. }
  51.  
  52. sub getint16 {
  53. my($addr)[email protected]_;
  54. return $b[$addr] | $b[$addr+1]<<8;
  55. }
  56.  
  57. sub getbits {
  58. my($start, $nbit, $i) = @_;
  59. if($nbit==1 || $nbit==2 || $nbit==4) {
  60. my($byte)=$b[$start+$i*$nbit /8];
  61. my $ovalue = $byte>>(8-$nbit - $i*$nbit %8);
  62. return $ovalue & ((1<<$nbit)-1);
  63. } elsif($nbit>0 && $nbit%8==0) {
  64. my $nbyte = $nbit / 8;
  65. my $value = 0;
  66. my $a = $start + $i * $nbyte;
  67. while($nbyte--) {
  68. $value = $value<<8 | $b[$a++];
  69. }
  70. return $value;
  71. } else {
  72. die;
  73. }
  74. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
Main.java:3: error: illegal character: '#'
#!/usr/bin/perl
^
Main.java:3: error: class, interface, or enum expected
#!/usr/bin/perl
  ^
Main.java:4: error: unclosed character literal
use encoding 'utf8';
             ^
Main.java:4: error: unclosed character literal
use encoding 'utf8';
                  ^
Main.java:7: error: class, interface, or enum expected
my $filename = shift || 'liu-uni.tab';
^
Main.java:7: error: unclosed character literal
my $filename = shift || 'liu-uni.tab';
                        ^
Main.java:7: error: unclosed character literal
my $filename = shift || 'liu-uni.tab';
                                    ^
Main.java:8: error: unclosed character literal
open F, '<:raw', $filename or die $!;
        ^
Main.java:8: error: unclosed character literal
open F, '<:raw', $filename or die $!;
              ^
Main.java:9: error: class, interface, or enum expected
{
^
Main.java:11: error: class, interface, or enum expected
  local $/;
  ^
Main.java:12: error: class, interface, or enum expected
  @b = map ord, split //,<F>;
     ^
Main.java:16: error: class, interface, or enum expected
$i1 = getint16(0);
^
Main.java:17: error: class, interface, or enum expected
$words = getint16(4);
^
Main.java:18: error: class, interface, or enum expected
$i2 = $i1 + getint16(2); # or + ($words*2+7)/8
^
Main.java:18: error: illegal character: '#'
$i2 = $i1 + getint16(2); # or + ($words*2+7)/8
                         ^
Main.java:18: error: class, interface, or enum expected
$i2 = $i1 + getint16(2); # or + ($words*2+7)/8
                              ^
Main.java:19: error: illegal character: '#'
$i3 = $i2 + getint16(6); # or + ($words*1+7)/8
                         ^
Main.java:19: error: class, interface, or enum expected
$i3 = $i2 + getint16(6); # or + ($words*1+7)/8
                              ^
Main.java:20: error: illegal character: '#'
$i4 = $i3 + getint16(6); # or + ($words*1+7)/8
                         ^
Main.java:20: error: class, interface, or enum expected
$i4 = $i3 + getint16(6); # or + ($words*1+7)/8
                              ^
Main.java:22: error: illegal character: '#'
#printf "words %d 0x%x\n", $words, $words;
^
Main.java:23: error: illegal character: '#'
#printf "i1=0x%x, i2=0x%x, i3=0x%x, i4=0x%x\n", $i1, $i2, $i3, $i4;
^
Main.java:23: error: class, interface, or enum expected
#printf "i1=0x%x, i2=0x%x, i3=0x%x, i4=0x%x\n", $i1, $i2, $i3, $i4;
        ^
Main.java:25: error: class, interface, or enum expected
my @rootkey = (split //," abcdefghijklmnopqrstuvwxyz,.'[]");
^
Main.java:25: error: class, interface, or enum expected
my @rootkey = (split //," abcdefghijklmnopqrstuvwxyz,.'[]");
            ^
Main.java:26: error: illegal '.'
for my$i(0 .. 1023) {
            ^
Main.java:27: error: class, interface, or enum expected
  my @key; $key[0] = $rootkey[$i/32];
         ^
Main.java:27: error: class, interface, or enum expected
  my @key; $key[0] = $rootkey[$i/32];
           ^
Main.java:28: error: class, interface, or enum expected
  $key[1] = $rootkey[$i%32];
  ^
Main.java:29: error: class, interface, or enum expected
  next if $key[0] eq ' ';
  ^
Main.java:31: error: class, interface, or enum expected
  for $ci(getint16($i*2) .. getint16($i*2+2)-1) {
  ^
Main.java:31: error: illegal '.'
  for $ci(getint16($i*2) .. getint16($i*2+2)-1) {
                          ^
Main.java:33: error: class, interface, or enum expected
    my $hi = getbits($i1, 2, $ci);
    ^
Main.java:34: error: class, interface, or enum expected
    my $lo = $bit24 & 0x3fff;
    ^
Main.java:35: error: illegal character: '#'
    #printf "%x %04x\t", $hi, $lo;
    ^
Main.java:35: error: class, interface, or enum expected
    #printf "%x %04x\t", $hi, $lo;
            ^
Main.java:37: error: class, interface, or enum expected
    $key[2] = $rootkey[$bit24>>19];
    ^
Main.java:38: error: class, interface, or enum expected
    $key[3] = $rootkey[$bit24>>14 & 0x1f];
    ^
Main.java:40: error: class, interface, or enum expected
    my $flag_unknown = getbits($i2, 1, $ci);
    ^
Main.java:41: error: class, interface, or enum expected
    my $flag_sp = getbits($i3, 1, $ci);
    ^
Main.java:43: error: class, interface, or enum expected
    print join '', @key;
    ^
Main.java:43: error: empty character literal
    print join '', @key;
               ^
Main.java:43: error: unclosed character literal
    print join '', @key;
                ^
Main.java:43: error: class, interface, or enum expected
    print join '', @key;
                       ^
Main.java:44: error: class, interface, or enum expected
    $char = chr($hi<<14 | $lo);
    ^
Main.java:45: error: class, interface, or enum expected
    printf "\t%s", $char;
    ^
Main.java:46: error: class, interface, or enum expected
    printf "\t%s", $flag_sp?' ':'*';
    ^
Main.java:47: error: class, interface, or enum expected
    printf "%s", $flag_unknown?' ':'+';
    ^
Main.java:48: error: class, interface, or enum expected
    print "\n";
    ^
Main.java:49: error: class, interface, or enum expected
  }
  ^
Main.java:54: error: class, interface, or enum expected
  return $b[$addr] | $b[$addr+1]<<8;
  ^
Main.java:55: error: class, interface, or enum expected
}
^
Main.java:58: warning: '_' used as an identifier
  my($start, $nbit, $i) = @_;
                           ^
  (use of '_' as an identifier might not be supported in releases after Java SE 8)
Main.java:58: error: class, interface, or enum expected
  my($start, $nbit, $i) = @_;
                            ^
Main.java:59: error: class, interface, or enum expected
  if($nbit==1 || $nbit==2 || $nbit==4) {
  ^
Main.java:61: error: class, interface, or enum expected
    my $ovalue = $byte>>(8-$nbit - $i*$nbit %8);
    ^
Main.java:62: error: class, interface, or enum expected
    return $ovalue & ((1<<$nbit)-1);
    ^
Main.java:63: error: class, interface, or enum expected
  } elsif($nbit>0 && $nbit%8==0) {
  ^
Main.java:65: error: class, interface, or enum expected
    my $value = 0;
    ^
Main.java:66: error: class, interface, or enum expected
    my $a = $start + $i * $nbyte;
    ^
Main.java:67: error: class, interface, or enum expected
    while($nbyte--) {
    ^
Main.java:69: error: class, interface, or enum expected
    }
    ^
Main.java:71: error: class, interface, or enum expected
  } else {
  ^
Main.java:73: error: class, interface, or enum expected
  }
  ^
64 errors
1 warning
stdout
Standard output is empty