DWITE Contest

The DWITE Judge

Languages and Compiling

The DWITE Judge supports many different languages and as such the process of compiling the code and running the code is different for each one. A list of all the currently supported languages, the version of the compiler being used and how the code will be ran is shown in the table below. It is recommend that you use or at least test your code in the same version of the compiler (or interpreter) that the judge is using to be sure it will work.

Language Version Complie String Run String Is Interpreted? Time to Run (milliseconds) Source Code Extension Notes Where to Download
Java javac 1.7.0_01 javac %file% java %name% No 2500 .java Ready to Program (RTP) 1.7 classes should be included in the class path for Java.

Using Java SE Runtime Environment (build 1.7.0_01-b08)
Turing Turing 4.1.1a E:\judge\summon_cthulhu.bat %file% Yes 5000 .t The judge uses a third party script to run Turing from the command line. This script forces Turing into a test mode to read commands from a passed file. This method is still experimental and not supported (or documented) by Turing. Turing: http://compsci.ca/holtsoft/

D DMD32 D Compiler v2.057 dmd %file% %name%.exe No 2500 .d http://www.d-programming-language.org
C gcc (GCC) 4.6.1 (MinGW) gcc %file% a.exe No 2500 .c Using GCC, the GNU Compiler Collection, threw MinGW. GCC: http://gcc.gnu.org/

MinGW: http://www.mingw.org/
C++ g++ (GCC) 4.6.1 (MinGW) g++ -o comp_judge.exe %file% comp_judge.exe No 2500 .cpp Using the GNU Compiler Collection threw MinGW. GCC: http://gcc.gnu.org/

MinGW: http://www.mingw.org/
Ruby ruby 1.9.3p0 (2011-10-30) [i386-mingw32] ruby %file% Yes 2500 .rb http://www.ruby-lang.org
Perl v5.12.3 built for MSWin32-x86-multi-thread perl %file% Yes 2500 .pl Using Strawberry Perl complier. Perl: http://www.perl.org/

Strawberry Perl: http://strawberryperl.com/
Python 2 Python 2.7 C:\Python27\python.exe %file% Yes 2500 .py Python: http://www.python.org/
PHP PHP 5.2.4 (cli) (built: Aug 30 2007 07:06:31) php %file% Yes 2500 .php Code is ran threw the command line, not as a web page. PHP: http://www.php.net/
Free Pascal Free Pascal Compiler version 2.2.0 [2007/09/09] for i386 fpc -oa.exe %file% a.exe No 2500 .pas Note that there is a difference between Free Pascal and Turbo Pascal code and how the compliers work. Free Pascal: http://www.freepascal.org/
Visual C++ 2010 Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86 E:\judge\vsvars2010.bat & cl /clr /DEBUG %file% %name%.exe No 2500 .cpp Using Visual C++ 2010 Express Edition in debug mode from the command line. Visual Studio 2010: https://www.microsoft.com/visualstudio/en-us/products/2010-editions/express
Visual Basic 2010 Microsoft (R) Visual Basic Compiler version 10.0.30319.1 E:\judge\vsvars2010.bat & vbc.exe /imports:Microsoft.VisualBasic,System %file% %name%.exe No 2500 .vb Using Visual Basic 2010 Express Edition from the command line. Please note that there is no need to make a GUI for your VB submissions and that the judge is not going to press any buttons. Visual Studio 2010: https://www.microsoft.com/visualstudio/en-us/products/2010-editions/express
C# Microsoft (R) Visual C# 2010 Compiler version 4.0.30319.1 E:\judge\vsvars2010.bat & csc %file% %name%.exe No 2500 .cs Using Visual C# Express Edition from the command line. Visual Studio 2010: https://www.microsoft.com/visualstudio/en-us/products/2010-editions/express
J# Microsoft Visual J# (R) Compiler version 8.0.50727.42 vjc %file% %name%.exe No 2500 .java Using Visual J# Express Edition from the command line. Visual Studio 2005: http://www.microsoft.com/express/2005/
Visual Basic 6 Microsoft Visual Basic 6.0 for 32 bit vb6 /m %file% judge_comp judge_comp.exe No 2500 .frm There is no need to make a GUI. The judge will not press any buttons and the GUI will only slow down your submission.
LISP GNU Common LISP 2.6.7 ANSI gcl %file% Yes 2500 .lisp Using GNU Common Lisp. GNU LISP: http://www.gnu.org/software/gcl/
Alice ML Alice 1.4 ("Kraftwerk 'Equaliser' Album"), mastered 2007/04/24 alicec %file% alicerun %name%.alc No 2500 .aml Note that Alice ML is not the same language as Alice programming language from http://www.alice.org. Alice: http://www.ps.uni-sb.de/alice/
io Io-2007-05-23 win32 io %file% Yes 2500 .io IO: http://www.iolanguage.com/
Turbo Pascal Free Pascal Compiler version 2.2.0 ran in TP/BP 7.0 compality mode fpc -So -oa.exe %file% a.exe No 2500 .pas Uses the same complier as Free Pascal but with the flag set to be TP/BP 7.0 compatible so it should work with Turbo Pascal (or at least try to).
Lua Lua 5.1.4 lua %file% Yes 2500 .lua Lua: http://www.lua.org/
C99 gcc (GCC) 4.6.1 (MinGW) gcc -std=c99 %file% a.exe No 2500 .c Using GCC, the GNU Compiler Collection, threw MinGW with the -std=c99 flag. GCC: http://gcc.gnu.org/

MinGW: http://www.mingw.org/
Haskell GHC 6.10.4 ghc -o a.exe %file% a.exe No 2500 .hs The Glorious Glasgow Haskell Compilation System, version 6.10.4 installed as part of the Haskell development environment for windows. http://hackage.haskell.org/platform/
Python 3 Python 3.1.2 C:\Python31\python.exe %file% Yes 2500 .py Python: http://www.python.org/
Fortran GNU Fortran (GCC) 4.6.1 gfortran %file% a.exe No 2500 .f GNU Fortran via MinGW. GNU Fortran: http://gcc.gnu.org/fortran/

MinGW: http://www.mingw.org/
OpenTuring 1.0.0 E:\judge\use_heavy_wizardry.bat %file% Yes 4000 .t The OpenTuring project aims to continue the work on Turing and provide an open source backwards compatible alliterative to the holtsoft compiler. The OpenTuring compiler is still experimental but may have a faster execution of code.

Note that a custom script it used to run OpenTuring (even tho it may be ran from the command line unlike turing) to overcome a bug in OpenTuring.
OpenTuring Discussion: http://compsci.ca/v3/viewtopic.php?t=29759

GitHub: https://github.com/Open-Turing-Project/OpenTuring

Download: http://github.com/downloads/Open-Turing-Project/OpenTuring/package.zip

OS and Hardware

The Judge is run in a virtual machine running windows XP, bellow are the specs for both the virtual machine and the real machine.

Virtual Machine

OS Windows XP SE
CPU Intel 32 bit 2.66ghz
Hard Disk Virtual dynamically expanding hard disk with Undo Disks feature enabled.

Real Machine

OS Windows Vista
CPU Intel 64 bit quad core 2.88ghz (i686)
Hard Disk
UPS ~1 hour back up power
Connection 10Mbps Down, 1Mbps Up