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) |
http://java.sun.com/javase/downloads/index.jsp |
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 |
RAM | 2GB |
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) |
RAM | 4GB |
Hard Disk | |
UPS | ~1 hour back up power |
Connection | 10Mbps Down, 1Mbps Up |