Oberon-2 is clean and simple programming language. This is portable compiler that translates Oberon-2 into bytecode, which can be either interpreted or dynamically translated into machine code. Dynamic translation uses a portable interface modelled on the one in GNU Lightning, but is so far implemented only on x86 machines. The implementation includes a full garbage collector, and comes with profiling tools and a simple GUI debugger. This implementation of the Oberon-2 language does not include a version of the Oberon-2 operating system and programming environment; instead, programs are edited with the tools of the host operating system and compiled into executables that run like other programs on the host system. The compiler is written in Objective Caml, and the runtime system is written in C.
WWW: http://spivey.oriel.ox.ac.uk/corner/Oxford_Oberon-2_compiler