[Oberon] Assumed issue in the Lola-2 compiler
chris at cfbsoftware.com
Tue Apr 16 13:17:44 CEST 2019
> -----Original Message-----
> From: Oberon [mailto:oberon-bounces at lists.inf.ethz.ch] On Behalf Of
> rochus.keller at bluewin.ch
> Sent: Tuesday, 16 April 2019 8:15 PM
> To: oberon at lists.inf.ethz.ch
> Subject: Re: [Oberon] Assumed issue in the Lola-2 compiler
> I have to correct my last post. My mathematical skills are obviously
> a bit rusty.
> >> Oberon in contrast to C/C++ requires y and r to be >= 0 (y=0 is
> >> forbidden)
> This is not fully correct since 0 <= r < y requires y to be greater
> than zero. So in Oberon a DIV or MOD by zero is not allowed. Only r=0
> is allowed. But the rest should be right (hopefully). Sorry for that.
You beat me to it ;-) Unfortunately the rest is not right either.
Be aware first of all that my previous post was incorrect. The original case
(-1) DIV 16 (which does equal -1)
I incorrectly restated this in my previous post as:
-1 DIV 16
Which is quite different. In Oberon, this is equivalent to -(1 DIV 16)
(which does equal 0). Apologies for the confusion.
For more examples of the usage of DIV and MOD refer to Section 7.1 "The Type
INTEGER" in the document "Programming in Oberon (a Tutorial)" which you can
download from Wirth's website:
For even more details of the issues involved Wirth commented on DIV and MOD
in a letter dated January 17, 1986 which was published in Issue #5 of Modus
News, the Newsletter for the Modula-2 Users Association. You can download a
copy from my website:
When you download the extracts look for Issue #5: Letter on DIV, MOD, /, and
REM, Niklaus Wirth
More information about the Oberon