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.6.0_03 | 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(TM) SE Runtime Environment (build 1.6.0_03-b05) |
http://java.sun.com/javase/downloads/index.jsp |
| Turing | Turing 4.1.1a | Hitomi "C:\Program Files\Turing 4.1.1\turing.exe" %file% %time% | Yes | 5000 | .t | The judge uses a third party program named Hitomi to run Turing from the command line. This program opens the source code in the Turing IDE and preses the run button and as such Turing is give a bit more time for it's code to run the other languages. | Turing: http://compsci.ca/holtsoft/
Hitomi: http://compsci.ca/~dan/Hitomi.exe |
|
| C | gcc (GCC) 3.4.4 (cygming special, gdc 0.12, using dmd 0.125) | gcc %file% | a.exe | No | 2500 | .c | Using GCC, the GNU Compiler Collection, threw Cygwin. | GCC: http://gcc.gnu.org/
Cygwin: http://www.cygwin.com/ |
| C++ | g++ (GCC) 3.4.4 (cygming special, gdc 0.12, using dmd 0.125) | g++ -o comp_judge.exe %file% | comp_judge.exe | No | 2500 | .cpp | Using the GNU Compiler Collection threw Cygwin. | GCC: http://gcc.gnu.org/
Cygwin: http://www.cygwin.com/ |
| Ruby | ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32] | ruby %file% | Yes | 2500 | .rb | http://www.ruby-lang.org | ||
| Perl | v5.8.8 built for cygwin-thread-multi-64int | perl %file% | Yes | 2500 | .pl | GNU perl complier ran threw cygwin. | Perl: http://www.perl.org/
Cygwin: http://www.cygwin.com/ |
|
| Python | Python 2.5.1 | python %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++ 2005 | Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.42 for 80x86 | E:\judge\vsvars32.bat & cl /clr /DEBUG %file% | %name%.exe | No | 2500 | .cpp | Using Visual C++ 2005 Express Edition in debug mode from the command line. | Visual Studio 2005: http://www.microsoft.com/express/2005/ |
| Visual Basic 2005 | Microsoft (R) Visual Basic Compiler version 8.0.50727.42 | vbc.exe /imports:Microsoft.VisualBasic,System %file% | %name%.exe | No | 2500 | .vb | Using Visual Basic 2005 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 2005: http://www.microsoft.com/express/2005/ |
| C# | Microsoft (R) Visual C# 2005 Compiler version 8.00.50727.42 | csc %file% | %name%.exe | No | 2500 | .cs | Using Visual C# Express Edition from the command line. | Visual Studio 2005: http://www.microsoft.com/express/2005/ |
| 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 CLISP 2.41 (2006-10-13) | clisp %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) 3.4.4 (cygming special, gdc 0.12, using dmd 0.125) | gcc -std=c99 %file% | a.exe | No | 2500 | .c | Using GCC, the GNU Compiler Collection, threw Cygwin with the -std=c99 flag. | GCC: http://gcc.gnu.org/
Cygwin: http://www.cygwin.com/ |
| 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/ |
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 |

