exec 'go', qw/build -compiler gccgo/, $name, when 'GCCGO';
exec 'ghc', qw/-DONLINE_JUDGE -Wall -O2 -o/, $basename, $name when 'HASKELL';
exec 'rustc', qw/-O -o/, $basename, $name when 'RUST';
+ exec 'obc', qw/-x -o/, $basename, $name when 'OBERON';
+ exec 'ocamlopt', qw/-o/, $basename, $name when 'OCAML';
+ exec 'gdc', qw/-DONLINE_JUDGE -Wall -O2 -frelease -fno-bounds-check -o/, $basename, $name when 'D';
when ('BRAINFUCK') {
system 'bfc', $name and die "bfc failed: errno=$! return=$?";
exit
}
- when ([qw/GOLFSCRIPT JULIA PERL PYTHON RUBY SBCL/]){
+ when ([qw/GOLFSCRIPT JULIA PERL PHP PYTHON PYTHON3 RUBY SBCL/]){
open IN, '<', $name;
open OUT, '>', $basename;
- print OUT "#!/usr/bin/golfscript\n" if $_ eq 'GOLFSCRIPT';
- print OUT "#!/usr/bin/julia -O\n" if $_ eq 'JULIA';
- print OUT "#!/usr/bin/perl\n" if $_ eq 'PERL';
- print OUT "#!/usr/bin/python\n" if $_ eq 'PYTHON';
- print OUT "#!/usr/bin/ruby\n" if $_ eq 'RUBY';
- print OUT "#!/usr/bin/sbcl --script\n" if $_ eq 'SBCL';
+ print OUT "#!/usr/bin/golfscript\n" if $_ eq 'GOLFSCRIPT';
+ print OUT "#!/usr/bin/julia -O\n" if $_ eq 'JULIA';
+ print OUT "#!/usr/bin/perl\n" if $_ eq 'PERL';
+ print OUT "#!/usr/bin/php -d ONLINE_JUDGE=true\n" if $_ eq 'PHP';
+ print OUT "#!/usr/bin/python2.7\n" if $_ eq 'PYTHON';
+ print OUT "#!/usr/bin/python3\n" if $_ eq 'PYTHON3';
+ print OUT "#!/usr/bin/ruby\n" if $_ eq 'RUBY';
+ print OUT "#!/usr/bin/sbcl --script\n" if $_ eq 'SBCL';
print OUT while <IN>;
close OUT;
close IN;
ghc -DONLINE_JUDGE -Wall -O2 -o $output $input
+=item OCAML
+
+ ocamlc -o $output $input
+
+=item OBERON
+
+ obc -x -o $output $input
+
=item RUST
rustc -O -o $output $input
cp $input $output
+=item PHP
+
+ cp $input $output
+
=item PYTHON
cp $input $output