[Oberon] Oberon compiler using C as an intermediate language

Chris Burrows chris at cfbsoftware.com
Fri Dec 21 14:39:05 CET 2012

> -----Original Message-----
> From: Treutwein Bernhard [mailto:Bernhard.Treutwein at Verwaltung.Uni-
> Muenchen.DE]
> Sent: Thursday, 20 December 2012 11:44 PM
> To: 'ETH Oberon and related systems'
> Subject: Re: [Oberon] Current Oberon System
> It compiles Oberon-2 to C (in a difficult form) and from there to object
> code. 

When I first heard the notion of writing an Oberon compiler to generate C it
did sound like a good way to leverage off all the platforms that C is
available. Unfortunately, the end result is doomed to inherit the quirky and
inconsistent behaviour you can expect when develop software in C for
different platforms. 

Where this approach could be very useful would be as a temporary
intermediate step when porting an Oberon compiler written in Oberon to a new
target. That is if you wanted to develop the compiler on the target itself
instead of writing a cross-compiler.

Wirth's compilers don't even generate assembler code instructions to pass
onto an assembler. That extra step is thought to be unnecessary and
inefficient. His compilers generate machine code instructions directly. That
is why the Oberon compiler is so incredibly fast. One day I'll put a
timestamp on the compiler log output - it compiles so fast that often I'm
not sure that I have actually clicked on the compile button! 


Chris Burrows
Astrobe: Oberon for Coretex-M3 (v4.3 Nov 2012)

More information about the Oberon mailing list