[Oberon] Compiler Modules Empty?

Chris Burrows chris at cfbsoftware.com
Sun Apr 13 02:47:34 CEST 2014


> -----Original Message-----
> From: Jan Verhoeven [mailto:jan at verhoeven272.nl]
> Sent: Sunday, 13 April 2014 9:47 AM
> To: ETH Oberon and related systems
> Subject: Re: [Oberon] Compiler Modules Empty?
> 
> Douglas G. Danforth wrote:
> > I believe SYSTEM is embedded in one of the compiler modules and does
> > not have a separate file.
> 
> SYSTEM is IMPORTed in just about any module. So there must be at least an
> object code file.
> 

Not true. Doug is correct. SYSTEM is a so-called 'pseudo module'. Although
the use of SYSTEM features might look like procedure calls to the programmer
they are not implemented as conventional procedure calls. Most SYSTEM
functions generate in-line instructions. 

> It may be a Foreign Module or an assembler written file but there must be
> some kind of specification for the functions in that file.

They are 'compiler magic' specified in the compiler itself. If you want to
see how they are implemented in FPGA RISC Oberon, study the following
compiler procedures:

ORB (module initialisation). 

ORP.StandFunc
ORP.StandProc












More information about the Oberon mailing list