[Oberon] CHAR to/from BYTE conversion
Jörg
joerg.straube at iaeth.ch
Mon Jul 11 13:04:02 CEST 2016
Hi
In his Oberon report, Wirth leaves the character coding very undefined. He
leaves it up to the implementation a) how many bytes a CHAR has and b) what
coding is used.
However in a lot of places you clearly see source code that only works if
ASCII (or Latin-1) encoding is assumed.
Eg in Texts.Scan you find:
IF ch <= "9" THEN d := ORD(ch) - 30H ELSE d := ORD(ch) - 37H; hex := TRUE
END;
This code will not work if the implementation would decide for EBCDIC.
This source code is a little better (would work for ASCII and EBCDIC)
IF ch <= "9" THEN d := ORD(ch) ORD("0") ELSE d := ORD(ch) (ORD("A")
10); hex := TRUE END;
br
Jörg
From: Oberon [mailto:oberon-bounces at lists.inf.ethz.ch] On Behalf Of Douglas
G. Danforth
Sent: Montag, 11. Juli 2016 01:13
To: ETH Oberon and related systems <oberon at lists.inf.ethz.ch>
Subject: Re: [Oberon] CHAR to/from BYTE conversion
On 7/8/2016 11:58 PM, Jörg Straube wrote:
string = """ {character} """ | digit {hexdigit} "X" .
How about dropping the hex representation and leaving character abstract?
string = """ {character} """
But then one needs, tab, end-of-line, form-feed, etc, to also be abstract.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.inf.ethz.ch/pipermail/oberon/attachments/20160711/2f804ca0/attachment.html>
More information about the Oberon
mailing list