[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