[Oberon] predeclared procedure SIZE

eas lab lab.eas at gmail.com
Mon Feb 11 20:22:31 CET 2013


joerg.straube wrote:-
} The module SYSTEM is incorporated into the compiler; this is the reason,
} why you can't find an own source file for it.

Mainly because I'm still looking for the code to <FetchCharAtCursor>,
NB. not *Caret*, I though I'd look what LEO's sources [which I
recently fetched] show:-
==============================
] <Unix src.tgz> =File: x86/Unix~tem.Mod == ...
]Refer to the "General ETH Oberon System Source License" contract available at:
]  http://www.oberon.ethz.ch/ *)
] MODULE System;   (*JG 25.4.90, NW 22.4.90, JT 7.5.90 / 21.01.93, RC 2.6.91,
]  MB 21.6.91 / 13.10.93 *)

Note how old/well-matured the code is, and the "License" explains why
critical sources
are hidden. But what really caused me to nearly fall off my chair:-

]        PROCEDURE Execute*;
]        VAR par: Oberon.ParList;  t: Texts.Text;  R: Texts.Reader;
]                i, bufsize, beg, end, time, stdout, stderr, stdin,
fd, res: LONGINT;  ch:
]                tempname: ARRAY 32 OF CHAR;
]                cmd: ARRAY 1024 OF CHAR;
]                buf: ARRAY 4096 OF CHAR;
]                ll: INTEGER;  X, Y: INTEGER;

Although I've been using LEO for several years EVERY DAY, I never
realised that it can
DIRECTLY execute *nix executables and display the output on the ETHO display.

This adds massively to its convenience.
It's like finding a secret/magic chamber in the castle!!

Imagine, from the ETHO screen you do things like:
  `list all files in directory D, which are less than N days-old,
   and contains String1 and String2 and String3`

== Chris Glur.



More information about the Oberon mailing list