[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: portability lessons
- From: "Dominic LaTouche" <ingelger@...>
- Date: Thu, 13 Sep 2001 20:04:01 +0200
I've compiled Lua 4.0 on the two mainframe systems we use at work : Bull's
GCOS8 & IBM's OS/390.
On IBM (genuine OS/390 not the Unix-like subsystem included) :
- source file names are limited to 8 char. (using members in a PDS file)
- IBM's C '[' and ']' are different of "textual" '[' and ']'.
These are the only 2 minor problems I have met. It works great in batch
or interactive. I'm using Lua a lot as a scripting language (instead of
Rexx, the standard product). The main problem which prevent a wider use is
EBCDIC charset (for example the C variant of '[' is not available on French
EBCDIC keyboards). It would be good to have a preprocessor or something like
C-trigraphs in standard Lua for non-ASCII systems.
- Building Lua was easy: no change to sources, no compiler/linker error
- But it doesn't really work ! : non numeric indexes in tables don't
work and some memory violations happen without reason (?)... I have no time
to investigate on this platform. (Note: the GCOS8 word is 36 bits long, so a
'byte' is 9 bit long). I suspect the representation of pointers:
"near" pointers are words with 18 bits (right justified) giving the word
displacement followed by 18 bits (left justified) giving the 'byte' offset
in the word. And "far" pointers code not the address but the way to
calculate the actual address (i.e. which registers,segment,offsets to