[Oberon] Compiling in the RISC emulator

Paul Reed paulreed at paddedcell.com
Tue May 13 19:35:49 CEST 2014


Dear Mr. Perkins,

> I am trying to compile Clibpoard.Mod and failing. This is what I see in
> the System.Log:
>
> Clipboard.Mod  compiling Clipboard
>  pos 1513 new symbol file inhibited
> compilation FAILED
>
> I see 'new symbol file inhibited' for all compilations, I suspect I am
> missing something important.

Looking at the source code, the message is generated in the ORB (symbol
table) module of the compiler when a new symbol file is needed (see the
book, Ch. 12).  ORP (the parser and main module) passes in a BOOLEAN
(actually an in-out) parameter newSF, which has to be TRUE to generate a
new symbol file.  The parser has a global BOOLEAN newSF, which is set when
the module filename is immediately followed by a "/" then a name, and the
first character of the name is "s".

Short answer: you need "/s".  :)

That's why there are two compile commands in the System.Tool, one with,
and one without "/s".  It's the only compiler option currently.

A new symbol file is needed whenever the definition (external interface)
of a module changes, as a simple mechanism to stop silently breaking
client modules.

Oberon compilers I have used (and built) in the past allowed a new symbol
file to be generated silently the first time; but I personally prefer this
way now - because you would have had to find out about it eventually.

Hope that helps,
Paul





More information about the Oberon mailing list