diff --git a/src/lib/v4/Oberon.Mod b/src/lib/v4/Oberon.Mod new file mode 100644 index 00000000..710e91e4 --- /dev/null +++ b/src/lib/v4/Oberon.Mod @@ -0,0 +1,61 @@ +MODULE Oberon; + +(* this version should not have dependency on graphics -- noch *) + + IMPORT Kernel, Texts, Args; + + TYPE + + ParList* = POINTER TO ParRec; + + ParRec* = RECORD + (* vwr*: Viewers.Viewer; + frame*: Display.Frame;*) + text*: Texts.Text; + pos*: LONGINT + END; + + VAR + + Log*: Texts.Text; + Par*: ParList; (*actual parameters*) + W : Texts.Writer; + (*clocks*) + + PROCEDURE GetClock* (VAR t, d: LONGINT); + BEGIN Kernel.GetClock(t, d) + END GetClock; + + PROCEDURE Time* (): LONGINT; + BEGIN + RETURN Kernel.Time() + END Time; + + PROCEDURE PopulateParams; + VAR W : Texts.Writer; + i : INTEGER; + str : ARRAY 32 OF CHAR; + BEGIN + + i := 1; (* skip program name *) + Texts.OpenWriter(W); + + REPEAT + IF i < Args.argc THEN + Args.Get(i, str); + Texts.WriteString(W, str); + Texts.WriteString(W, " "); + END; + INC(i) + UNTIL i >= Args.argc; + + Texts.Append (Par^.text, W.buf); + + END PopulateParams; + +BEGIN + NEW(Par); + NEW(Par.text); + Texts.Open(Par.text, ""); + PopulateParams; +END Oberon. diff --git a/voc.REMOVED.git-id b/voc.REMOVED.git-id index df5f3d7a..7d4eccb3 100644 --- a/voc.REMOVED.git-id +++ b/voc.REMOVED.git-id @@ -1 +1 @@ -ea3eeab60e2534238860b93b768a164507a37366 \ No newline at end of file +3709b2b5f9471ed687fa9b371bbbb71467f0364a \ No newline at end of file