[Oberon] NAstrobe for RISC5 on Pepino

Chris Burrows chris at cfbsoftware.com
Wed Aug 1 14:09:18 CEST 2018

> -----Original Message-----
> From: Oberon [mailto:oberon-bounces at lists.inf.ethz.ch] On Behalf Of
> Skulski, Wojciech
> Sent: Tuesday, 31 July 2018 11:08 PM
> To: ETH Oberon and related systems
> Subject: [Oberon] NAstrobe for RISC5 on Pepino
> Is yours the same as the latest official compiler?

About 90% of the source code is identical to Wirth's latest compiler. It
generates identical symbol and object files for identical source files that
have been compiled by the latest official compiler. 

The reason for the 10% difference is: 

a) I have implemented support for the numeric / character forms of the CASE
statement as defined in the Oberon Language report.

b) Now that the compiler can process all types of CASE statement, I have
replaced ten of the IF-THEN-ELSIF-ELSE statements in the compiler itself
with the equivalent CASE statements.

c) I have replaced the nifty (but a little obscure) algorithm that
recognises keywords, with a CASE statement that selects on the initial
character of the keyword. 

Objectively, the end result is a compiler that is about 10% faster;
subjectively, the CASE statements are easier to read / comprehend. Have a
look for yourself and see what you think.


Chris Burrows
CFB Software

More information about the Oberon mailing list