mirror of
https://github.com/vishapoberon/compiler.git
synced 2026-04-06 11:02:24 +00:00
ulmPrint ported, ulmStreams modified.
needs test, I am not sure it will work correctly. it is not clean how some type casts would work in voc.
This commit is contained in:
parent
c648686eb7
commit
ce6490771e
8 changed files with 101 additions and 77 deletions
4
makefile
4
makefile
|
|
@ -149,6 +149,10 @@ stage6:
|
||||||
$(VOCSTATIC) -sP ulmObjects.Mod ulmDisciplines.Mod
|
$(VOCSTATIC) -sP ulmObjects.Mod ulmDisciplines.Mod
|
||||||
$(VOCSTATIC) -sP ulmPriorities.Mod ulmServices.Mod ulmEvents.Mod ulmResources.Mod ulmForwarders.Mod ulmRelatedEvents.Mod
|
$(VOCSTATIC) -sP ulmPriorities.Mod ulmServices.Mod ulmEvents.Mod ulmResources.Mod ulmForwarders.Mod ulmRelatedEvents.Mod
|
||||||
$(VOCSTATIC) -sP ulmIO.Mod ulmProcess.Mod ulmTypes.Mod ulmStreams.Mod
|
$(VOCSTATIC) -sP ulmIO.Mod ulmProcess.Mod ulmTypes.Mod ulmStreams.Mod
|
||||||
|
$(VOCSTATIC) -sP ulmAssertions.Mod
|
||||||
|
$(VOCSTATIC) -sP ulmIndirectDisciplines.Mod ulmStreamDisciplines.Mod
|
||||||
|
$(VOCSTATIC) -sP ulmIEEE.Mod ulmMC68881.Mod ulmReals.Mod
|
||||||
|
$(VOCSTATIC) -sP ulmPrint.Mod
|
||||||
|
|
||||||
stage7:
|
stage7:
|
||||||
#objects := $(wildcard *.o)
|
#objects := $(wildcard *.o)
|
||||||
|
|
|
||||||
|
|
@ -149,6 +149,10 @@ stage6:
|
||||||
$(VOCSTATIC) -sP ulmObjects.Mod ulmDisciplines.Mod
|
$(VOCSTATIC) -sP ulmObjects.Mod ulmDisciplines.Mod
|
||||||
$(VOCSTATIC) -sP ulmPriorities.Mod ulmServices.Mod ulmEvents.Mod ulmResources.Mod ulmForwarders.Mod ulmRelatedEvents.Mod
|
$(VOCSTATIC) -sP ulmPriorities.Mod ulmServices.Mod ulmEvents.Mod ulmResources.Mod ulmForwarders.Mod ulmRelatedEvents.Mod
|
||||||
$(VOCSTATIC) -sP ulmIO.Mod ulmProcess.Mod ulmTypes.Mod ulmStreams.Mod
|
$(VOCSTATIC) -sP ulmIO.Mod ulmProcess.Mod ulmTypes.Mod ulmStreams.Mod
|
||||||
|
$(VOCSTATIC) -sP ulmAssertions.Mod
|
||||||
|
$(VOCSTATIC) -sP ulmIndirectDisciplines.Mod ulmStreamDisciplines.Mod
|
||||||
|
$(VOCSTATIC) -sP ulmIEEE.Mod ulmMC68881.Mod ulmReals.Mod
|
||||||
|
$(VOCSTATIC) -sP ulmPrint.Mod
|
||||||
|
|
||||||
stage7:
|
stage7:
|
||||||
#objects := $(wildcard *.o)
|
#objects := $(wildcard *.o)
|
||||||
|
|
|
||||||
|
|
@ -149,6 +149,10 @@ stage6:
|
||||||
$(VOCSTATIC) -sP ulmObjects.Mod ulmDisciplines.Mod
|
$(VOCSTATIC) -sP ulmObjects.Mod ulmDisciplines.Mod
|
||||||
$(VOCSTATIC) -sP ulmPriorities.Mod ulmServices.Mod ulmEvents.Mod ulmResources.Mod ulmForwarders.Mod ulmRelatedEvents.Mod
|
$(VOCSTATIC) -sP ulmPriorities.Mod ulmServices.Mod ulmEvents.Mod ulmResources.Mod ulmForwarders.Mod ulmRelatedEvents.Mod
|
||||||
$(VOCSTATIC) -sP ulmIO.Mod ulmProcess.Mod ulmTypes.Mod ulmStreams.Mod
|
$(VOCSTATIC) -sP ulmIO.Mod ulmProcess.Mod ulmTypes.Mod ulmStreams.Mod
|
||||||
|
$(VOCSTATIC) -sP ulmAssertions.Mod
|
||||||
|
$(VOCSTATIC) -sP ulmIndirectDisciplines.Mod ulmStreamDisciplines.Mod
|
||||||
|
$(VOCSTATIC) -sP ulmIEEE.Mod ulmMC68881.Mod ulmReals.Mod
|
||||||
|
$(VOCSTATIC) -sP ulmPrint.Mod
|
||||||
|
|
||||||
stage7:
|
stage7:
|
||||||
#objects := $(wildcard *.o)
|
#objects := $(wildcard *.o)
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
#SHELL := /bin/bash
|
#SHELL := /bin/bash
|
||||||
BUILDID=$(shell date +%Y/%m/%d)
|
BUILDID=$(shell date +%Y/%m/%d)
|
||||||
TOS = linux
|
TOS = linux
|
||||||
TARCH = armv7a_hardfp
|
TARCH = armv7a_hardfp
|
||||||
#TARCH = x86 x86_64 armv6j armv6j_hardfp armv7a_hardfp
|
#TARCH = x86 x86_64 armv6j armv6j_hardfp armv7a_hardfp
|
||||||
CCOMP = gnuc
|
CCOMP = gnuc
|
||||||
RELEASE = 1.0
|
RELEASE = 1.0
|
||||||
|
|
@ -149,6 +149,10 @@ stage6:
|
||||||
$(VOCSTATIC) -sP ulmObjects.Mod ulmDisciplines.Mod
|
$(VOCSTATIC) -sP ulmObjects.Mod ulmDisciplines.Mod
|
||||||
$(VOCSTATIC) -sP ulmPriorities.Mod ulmServices.Mod ulmEvents.Mod ulmResources.Mod ulmForwarders.Mod ulmRelatedEvents.Mod
|
$(VOCSTATIC) -sP ulmPriorities.Mod ulmServices.Mod ulmEvents.Mod ulmResources.Mod ulmForwarders.Mod ulmRelatedEvents.Mod
|
||||||
$(VOCSTATIC) -sP ulmIO.Mod ulmProcess.Mod ulmTypes.Mod ulmStreams.Mod
|
$(VOCSTATIC) -sP ulmIO.Mod ulmProcess.Mod ulmTypes.Mod ulmStreams.Mod
|
||||||
|
$(VOCSTATIC) -sP ulmAssertions.Mod
|
||||||
|
$(VOCSTATIC) -sP ulmIndirectDisciplines.Mod ulmStreamDisciplines.Mod
|
||||||
|
$(VOCSTATIC) -sP ulmIEEE.Mod ulmMC68881.Mod ulmReals.Mod
|
||||||
|
$(VOCSTATIC) -sP ulmPrint.Mod
|
||||||
|
|
||||||
stage7:
|
stage7:
|
||||||
#objects := $(wildcard *.o)
|
#objects := $(wildcard *.o)
|
||||||
|
|
|
||||||
|
|
@ -149,6 +149,10 @@ stage6:
|
||||||
$(VOCSTATIC) -sP ulmObjects.Mod ulmDisciplines.Mod
|
$(VOCSTATIC) -sP ulmObjects.Mod ulmDisciplines.Mod
|
||||||
$(VOCSTATIC) -sP ulmPriorities.Mod ulmServices.Mod ulmEvents.Mod ulmResources.Mod ulmForwarders.Mod ulmRelatedEvents.Mod
|
$(VOCSTATIC) -sP ulmPriorities.Mod ulmServices.Mod ulmEvents.Mod ulmResources.Mod ulmForwarders.Mod ulmRelatedEvents.Mod
|
||||||
$(VOCSTATIC) -sP ulmIO.Mod ulmProcess.Mod ulmTypes.Mod ulmStreams.Mod
|
$(VOCSTATIC) -sP ulmIO.Mod ulmProcess.Mod ulmTypes.Mod ulmStreams.Mod
|
||||||
|
$(VOCSTATIC) -sP ulmAssertions.Mod
|
||||||
|
$(VOCSTATIC) -sP ulmIndirectDisciplines.Mod ulmStreamDisciplines.Mod
|
||||||
|
$(VOCSTATIC) -sP ulmIEEE.Mod ulmMC68881.Mod ulmReals.Mod
|
||||||
|
$(VOCSTATIC) -sP ulmPrint.Mod
|
||||||
|
|
||||||
stage7:
|
stage7:
|
||||||
#objects := $(wildcard *.o)
|
#objects := $(wildcard *.o)
|
||||||
|
|
|
||||||
|
|
@ -149,6 +149,10 @@ stage6:
|
||||||
$(VOCSTATIC) -sP ulmObjects.Mod ulmDisciplines.Mod
|
$(VOCSTATIC) -sP ulmObjects.Mod ulmDisciplines.Mod
|
||||||
$(VOCSTATIC) -sP ulmPriorities.Mod ulmServices.Mod ulmEvents.Mod ulmResources.Mod ulmForwarders.Mod ulmRelatedEvents.Mod
|
$(VOCSTATIC) -sP ulmPriorities.Mod ulmServices.Mod ulmEvents.Mod ulmResources.Mod ulmForwarders.Mod ulmRelatedEvents.Mod
|
||||||
$(VOCSTATIC) -sP ulmIO.Mod ulmProcess.Mod ulmTypes.Mod ulmStreams.Mod
|
$(VOCSTATIC) -sP ulmIO.Mod ulmProcess.Mod ulmTypes.Mod ulmStreams.Mod
|
||||||
|
$(VOCSTATIC) -sP ulmAssertions.Mod
|
||||||
|
$(VOCSTATIC) -sP ulmIndirectDisciplines.Mod ulmStreamDisciplines.Mod
|
||||||
|
$(VOCSTATIC) -sP ulmIEEE.Mod ulmMC68881.Mod ulmReals.Mod
|
||||||
|
$(VOCSTATIC) -sP ulmPrint.Mod
|
||||||
|
|
||||||
stage7:
|
stage7:
|
||||||
#objects := $(wildcard *.o)
|
#objects := $(wildcard *.o)
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@
|
||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
*)
|
*)
|
||||||
|
|
||||||
MODULE Print;
|
MODULE ulmPrint;
|
||||||
|
|
||||||
(* formatted printing;
|
(* formatted printing;
|
||||||
Print.F[0-9] prints to Streams.stdout
|
Print.F[0-9] prints to Streams.stdout
|
||||||
|
|
@ -43,8 +43,8 @@ MODULE Print;
|
||||||
formats are close to those of printf(3)
|
formats are close to those of printf(3)
|
||||||
*)
|
*)
|
||||||
|
|
||||||
IMPORT Events, IEEE, Priorities, Reals, RelatedEvents, StreamDisciplines,
|
IMPORT Events := ulmEvents, IEEE := ulmIEEE, Priorities := ulmPriorities, Reals := ulmReals, RelatedEvents := ulmRelatedEvents, StreamDisciplines := ulmStreamDisciplines,
|
||||||
Streams, SYS := SYSTEM;
|
Streams := ulmStreams, SYS := SYSTEM;
|
||||||
|
|
||||||
CONST
|
CONST
|
||||||
tooManyArgs* = 0; (* too many arguments given *)
|
tooManyArgs* = 0; (* too many arguments given *)
|
||||||
|
|
@ -81,11 +81,11 @@ MODULE Print;
|
||||||
END InitErrorHandling;
|
END InitErrorHandling;
|
||||||
|
|
||||||
PROCEDURE Out(out: Streams.Stream; VAR fmt: ARRAY OF CHAR; nargs: INTEGER;
|
PROCEDURE Out(out: Streams.Stream; VAR fmt: ARRAY OF CHAR; nargs: INTEGER;
|
||||||
VAR p1,p2,p3,p4,p5,p6,p7,p8,p9: ARRAY OF BYTE;
|
VAR p1,p2,p3,p4,p5,p6,p7,p8,p9: ARRAY OF SYS.BYTE;
|
||||||
errors: RelatedEvents.Object);
|
errors: RelatedEvents.Object);
|
||||||
CONST
|
CONST
|
||||||
maxargs = 9; (* maximal number of arguments *)
|
maxargs = 9; (* maximal number of arguments *)
|
||||||
maxargsize = SYS.SIZE(LONGREAL); (* maximal arg size (except strings) *)
|
maxargsize = SIZE(LONGREAL); (* maximal arg size (except strings) *)
|
||||||
fmtcmd = "%";
|
fmtcmd = "%";
|
||||||
escape = "\";
|
escape = "\";
|
||||||
VAR
|
VAR
|
||||||
|
|
@ -133,7 +133,7 @@ MODULE Print;
|
||||||
END;
|
END;
|
||||||
END Unget;
|
END Unget;
|
||||||
|
|
||||||
PROCEDURE Write(byte: BYTE);
|
PROCEDURE Write(byte: SYS.BYTE);
|
||||||
BEGIN
|
BEGIN
|
||||||
IF Streams.WriteByte(out, byte) THEN
|
IF Streams.WriteByte(out, byte) THEN
|
||||||
INC(out.count);
|
INC(out.count);
|
||||||
|
|
@ -166,10 +166,10 @@ MODULE Print;
|
||||||
REPEAT
|
REPEAT
|
||||||
int := int * base;
|
int := int * base;
|
||||||
IF (fmtchar >= "0") & (fmtchar <= "9") THEN
|
IF (fmtchar >= "0") & (fmtchar <= "9") THEN
|
||||||
INC(int, ORD(fmtchar) - ORD("0"));
|
INC(int, LONG(ORD(fmtchar) - ORD("0")));
|
||||||
ELSIF (base = 16) &
|
ELSIF (base = 16) &
|
||||||
(CAP(fmtchar) >= "A") & (CAP(fmtchar) <= "F") THEN
|
(CAP(fmtchar) >= "A") & (CAP(fmtchar) <= "F") THEN
|
||||||
INC(int, 10 + ORD(CAP(fmtchar)) - ORD("A"));
|
INC(int, LONG(10 + ORD(CAP(fmtchar)) - ORD("A")));
|
||||||
ELSE
|
ELSE
|
||||||
RETURN FALSE
|
RETURN FALSE
|
||||||
END;
|
END;
|
||||||
|
|
@ -198,7 +198,7 @@ MODULE Print;
|
||||||
END;
|
END;
|
||||||
END SetSize;
|
END SetSize;
|
||||||
|
|
||||||
PROCEDURE Access(par: INTEGER; at: LONGINT) : BYTE;
|
PROCEDURE Access(par: INTEGER; at: LONGINT) : SYS.BYTE;
|
||||||
BEGIN
|
BEGIN
|
||||||
CASE par OF
|
CASE par OF
|
||||||
| 0: RETURN p1[at]
|
| 0: RETURN p1[at]
|
||||||
|
|
@ -213,7 +213,7 @@ MODULE Print;
|
||||||
END;
|
END;
|
||||||
END Access;
|
END Access;
|
||||||
|
|
||||||
PROCEDURE Convert(from: INTEGER; VAR to: ARRAY OF BYTE);
|
PROCEDURE Convert(from: INTEGER; VAR to: ARRAY OF SYS.BYTE);
|
||||||
VAR i: INTEGER;
|
VAR i: INTEGER;
|
||||||
BEGIN
|
BEGIN
|
||||||
i := 0;
|
i := 0;
|
||||||
|
|
@ -224,21 +224,21 @@ MODULE Print;
|
||||||
|
|
||||||
PROCEDURE GetInt(index: INTEGER; VAR long: LONGINT) : BOOLEAN;
|
PROCEDURE GetInt(index: INTEGER; VAR long: LONGINT) : BOOLEAN;
|
||||||
(* access index-th parameter (counted from 0);
|
(* access index-th parameter (counted from 0);
|
||||||
fails if arglen[index] > SYS.SIZE(LONGINT)
|
fails if arglen[index] > SIZE(LONGINT)
|
||||||
*)
|
*)
|
||||||
VAR
|
VAR
|
||||||
short: SHORTINT;
|
short: SHORTINT;
|
||||||
int16: SYS.INT16;
|
(*int16: SYS.INT16;*)
|
||||||
int: INTEGER;
|
int: INTEGER;
|
||||||
|
|
||||||
BEGIN
|
BEGIN
|
||||||
IF arglen[index] = SYS.SIZE(SHORTINT) THEN
|
IF arglen[index] = SIZE(SHORTINT) THEN
|
||||||
Convert(index, short); long := short;
|
Convert(index, short); long := short;
|
||||||
ELSIF arglen[index] = SYS.SIZE(SYS.INT16) THEN
|
(*ELSIF arglen[index] = SIZE(SYS.INT16) THEN
|
||||||
Convert(index, int16); long := int16;
|
Convert(index, int16); long := int16;*)
|
||||||
ELSIF arglen[index] = SYS.SIZE(INTEGER) THEN
|
ELSIF arglen[index] = SIZE(INTEGER) THEN
|
||||||
Convert(index, int); long := int;
|
Convert(index, int); long := int;
|
||||||
ELSIF arglen[index] = SYS.SIZE(LONGINT) THEN
|
ELSIF arglen[index] = SIZE(LONGINT) THEN
|
||||||
Convert(index, long);
|
Convert(index, long);
|
||||||
ELSE
|
ELSE
|
||||||
Error(badArgumentSize);
|
Error(badArgumentSize);
|
||||||
|
|
@ -466,7 +466,7 @@ MODULE Print;
|
||||||
lr: LONGREAL;
|
lr: LONGREAL;
|
||||||
r: REAL;
|
r: REAL;
|
||||||
shortint: SHORTINT; int: INTEGER; longint: LONGINT;
|
shortint: SHORTINT; int: INTEGER; longint: LONGINT;
|
||||||
int16: SYS.INT16;
|
(*int16: SYS.INT16;*)
|
||||||
long: BOOLEAN;
|
long: BOOLEAN;
|
||||||
exponent: INTEGER;
|
exponent: INTEGER;
|
||||||
mantissa: LONGREAL;
|
mantissa: LONGREAL;
|
||||||
|
|
@ -536,7 +536,7 @@ MODULE Print;
|
||||||
INC(needed, 3);
|
INC(needed, 3);
|
||||||
END;
|
END;
|
||||||
END;
|
END;
|
||||||
INC(needed, scale);
|
INC(needed, SHORT(scale));
|
||||||
|
|
||||||
FillLeft(needed);
|
FillLeft(needed);
|
||||||
IF neg THEN
|
IF neg THEN
|
||||||
|
|
@ -581,26 +581,26 @@ MODULE Print;
|
||||||
|
|
||||||
BEGIN (* WriteReal *)
|
BEGIN (* WriteReal *)
|
||||||
IF NextArg(index) THEN
|
IF NextArg(index) THEN
|
||||||
IF arglen[index] = SYS.SIZE(LONGREAL) THEN
|
IF arglen[index] = SIZE(LONGREAL) THEN
|
||||||
long := TRUE;
|
long := TRUE;
|
||||||
Convert(index, lr);
|
Convert(index, lr);
|
||||||
ELSIF arglen[index] = SYS.SIZE(REAL) THEN
|
ELSIF arglen[index] = SIZE(REAL) THEN
|
||||||
long := FALSE;
|
long := FALSE;
|
||||||
Convert(index, r);
|
Convert(index, r);
|
||||||
lr := r;
|
lr := r;
|
||||||
ELSIF arglen[index] = SYS.SIZE(LONGINT) THEN
|
ELSIF arglen[index] = SIZE(LONGINT) THEN
|
||||||
long := FALSE;
|
long := FALSE;
|
||||||
Convert(index, longint);
|
Convert(index, longint);
|
||||||
lr := longint;
|
lr := longint;
|
||||||
ELSIF arglen[index] = SYS.SIZE(INTEGER) THEN
|
ELSIF arglen[index] = SIZE(INTEGER) THEN
|
||||||
long := FALSE;
|
long := FALSE;
|
||||||
Convert(index, int);
|
Convert(index, int);
|
||||||
lr := int;
|
lr := int;
|
||||||
ELSIF arglen[index] = SYS.SIZE(SYS.INT16) THEN
|
(*ELSIF arglen[index] = SIZE(SYS.INT16) THEN
|
||||||
long := FALSE;
|
long := FALSE;
|
||||||
Convert(index, int16);
|
Convert(index, int16);
|
||||||
lr := int16;
|
lr := int16;*)
|
||||||
ELSIF arglen[index] = SYS.SIZE(SHORTINT) THEN
|
ELSIF arglen[index] = SIZE(SHORTINT) THEN
|
||||||
long := FALSE;
|
long := FALSE;
|
||||||
Convert(index, shortint);
|
Convert(index, shortint);
|
||||||
lr := shortint;
|
lr := shortint;
|
||||||
|
|
@ -648,7 +648,7 @@ MODULE Print;
|
||||||
ELSE
|
ELSE
|
||||||
INC(decpt, exponent);
|
INC(decpt, exponent);
|
||||||
scale := ndigits-1;
|
scale := ndigits-1;
|
||||||
DEC(scale, exponent);
|
DEC(scale, LONG(exponent));
|
||||||
IF scale < 0 THEN
|
IF scale < 0 THEN
|
||||||
scale := 0;
|
scale := 0;
|
||||||
END;
|
END;
|
||||||
|
|
@ -665,14 +665,14 @@ MODULE Print;
|
||||||
VAR
|
VAR
|
||||||
index: INTEGER;
|
index: INTEGER;
|
||||||
i: LONGINT;
|
i: LONGINT;
|
||||||
byte: BYTE;
|
byte: SYS.BYTE;
|
||||||
len: LONGINT;
|
len: LONGINT;
|
||||||
BEGIN
|
BEGIN
|
||||||
IF NextArg(index) THEN
|
IF NextArg(index) THEN
|
||||||
len := 0;
|
len := 0;
|
||||||
WHILE (len < arglen[index]) &
|
WHILE (len < arglen[index]) &
|
||||||
((scale = -1) OR (len < scale)) &
|
((scale = -1) OR (len < scale)) &
|
||||||
(CHR(Access(index, len)) # 0X) DO
|
((*CHR*)SYS.VAL(CHAR, (Access(index, len))) # 0X) DO
|
||||||
INC(len);
|
INC(len);
|
||||||
END;
|
END;
|
||||||
FillLeft(len);
|
FillLeft(len);
|
||||||
|
|
@ -755,205 +755,205 @@ MODULE Print;
|
||||||
|
|
||||||
(* === public part ============================================== *)
|
(* === public part ============================================== *)
|
||||||
|
|
||||||
PROCEDURE F(fmt: ARRAY OF CHAR);
|
PROCEDURE F*(fmt: ARRAY OF CHAR);
|
||||||
VAR x: INTEGER;
|
VAR x: INTEGER;
|
||||||
BEGIN
|
BEGIN
|
||||||
Out(Streams.stdout, fmt, 0, x,x,x,x,x,x,x,x,x, NIL);
|
Out(Streams.stdout, fmt, 0, x,x,x,x,x,x,x,x,x, NIL);
|
||||||
END F;
|
END F;
|
||||||
|
|
||||||
PROCEDURE F1(fmt: ARRAY OF CHAR; p1: ARRAY OF BYTE);
|
PROCEDURE F1*(fmt: ARRAY OF CHAR; p1: ARRAY OF SYS.BYTE);
|
||||||
VAR x: INTEGER;
|
VAR x: INTEGER;
|
||||||
BEGIN
|
BEGIN
|
||||||
Out(Streams.stdout, fmt, 1, p1, x,x,x,x,x,x,x,x, NIL);
|
Out(Streams.stdout, fmt, 1, p1, x,x,x,x,x,x,x,x, NIL);
|
||||||
END F1;
|
END F1;
|
||||||
|
|
||||||
PROCEDURE F2(fmt: ARRAY OF CHAR; p1, p2: ARRAY OF BYTE);
|
PROCEDURE F2*(fmt: ARRAY OF CHAR; p1, p2: ARRAY OF SYS.BYTE);
|
||||||
VAR x: INTEGER;
|
VAR x: INTEGER;
|
||||||
BEGIN
|
BEGIN
|
||||||
Out(Streams.stdout, fmt, 2, p1,p2, x,x,x,x,x,x,x, NIL);
|
Out(Streams.stdout, fmt, 2, p1,p2, x,x,x,x,x,x,x, NIL);
|
||||||
END F2;
|
END F2;
|
||||||
|
|
||||||
PROCEDURE F3(fmt: ARRAY OF CHAR; p1, p2, p3: ARRAY OF BYTE);
|
PROCEDURE F3*(fmt: ARRAY OF CHAR; p1, p2, p3: ARRAY OF SYS.BYTE);
|
||||||
VAR x: INTEGER;
|
VAR x: INTEGER;
|
||||||
BEGIN
|
BEGIN
|
||||||
Out(Streams.stdout, fmt, 3, p1,p2,p3, x,x,x,x,x,x, NIL);
|
Out(Streams.stdout, fmt, 3, p1,p2,p3, x,x,x,x,x,x, NIL);
|
||||||
END F3;
|
END F3;
|
||||||
|
|
||||||
PROCEDURE F4(fmt: ARRAY OF CHAR; p1, p2, p3, p4: ARRAY OF BYTE);
|
PROCEDURE F4*(fmt: ARRAY OF CHAR; p1, p2, p3, p4: ARRAY OF SYS.BYTE);
|
||||||
VAR x: INTEGER;
|
VAR x: INTEGER;
|
||||||
BEGIN
|
BEGIN
|
||||||
Out(Streams.stdout, fmt, 4, p1,p2,p3,p4, x,x,x,x,x, NIL);
|
Out(Streams.stdout, fmt, 4, p1,p2,p3,p4, x,x,x,x,x, NIL);
|
||||||
END F4;
|
END F4;
|
||||||
|
|
||||||
PROCEDURE F5(fmt: ARRAY OF CHAR; p1, p2, p3, p4, p5: ARRAY OF BYTE);
|
PROCEDURE F5*(fmt: ARRAY OF CHAR; p1, p2, p3, p4, p5: ARRAY OF SYS.BYTE);
|
||||||
VAR x: INTEGER;
|
VAR x: INTEGER;
|
||||||
BEGIN
|
BEGIN
|
||||||
Out(Streams.stdout, fmt, 5, p1,p2,p3,p4,p5, x,x,x,x, NIL);
|
Out(Streams.stdout, fmt, 5, p1,p2,p3,p4,p5, x,x,x,x, NIL);
|
||||||
END F5;
|
END F5;
|
||||||
|
|
||||||
PROCEDURE F6(fmt: ARRAY OF CHAR; p1, p2, p3, p4, p5, p6: ARRAY OF BYTE);
|
PROCEDURE F6*(fmt: ARRAY OF CHAR; p1, p2, p3, p4, p5, p6: ARRAY OF SYS.BYTE);
|
||||||
VAR x: INTEGER;
|
VAR x: INTEGER;
|
||||||
BEGIN
|
BEGIN
|
||||||
Out(Streams.stdout, fmt, 6, p1,p2,p3,p4,p5,p6, x,x,x, NIL);
|
Out(Streams.stdout, fmt, 6, p1,p2,p3,p4,p5,p6, x,x,x, NIL);
|
||||||
END F6;
|
END F6;
|
||||||
|
|
||||||
PROCEDURE F7(fmt: ARRAY OF CHAR; p1, p2, p3, p4, p5, p6, p7: ARRAY OF BYTE);
|
PROCEDURE F7*(fmt: ARRAY OF CHAR; p1, p2, p3, p4, p5, p6, p7: ARRAY OF SYS.BYTE);
|
||||||
VAR x: INTEGER;
|
VAR x: INTEGER;
|
||||||
BEGIN
|
BEGIN
|
||||||
Out(Streams.stdout, fmt, 7, p1,p2,p3,p4,p5,p6,p7, x,x, NIL);
|
Out(Streams.stdout, fmt, 7, p1,p2,p3,p4,p5,p6,p7, x,x, NIL);
|
||||||
END F7;
|
END F7;
|
||||||
|
|
||||||
PROCEDURE F8(fmt: ARRAY OF CHAR;
|
PROCEDURE F8*(fmt: ARRAY OF CHAR;
|
||||||
p1, p2, p3, p4, p5, p6, p7, p8: ARRAY OF BYTE);
|
p1, p2, p3, p4, p5, p6, p7, p8: ARRAY OF SYS.BYTE);
|
||||||
VAR x: INTEGER;
|
VAR x: INTEGER;
|
||||||
BEGIN
|
BEGIN
|
||||||
Out(Streams.stdout, fmt, 8, p1,p2,p3,p4,p5,p6,p7,p8, x, NIL);
|
Out(Streams.stdout, fmt, 8, p1,p2,p3,p4,p5,p6,p7,p8, x, NIL);
|
||||||
END F8;
|
END F8;
|
||||||
|
|
||||||
PROCEDURE F9(fmt: ARRAY OF CHAR;
|
PROCEDURE F9*(fmt: ARRAY OF CHAR;
|
||||||
p1, p2, p3, p4, p5, p6, p7, p8, p9: ARRAY OF BYTE);
|
p1, p2, p3, p4, p5, p6, p7, p8, p9: ARRAY OF SYS.BYTE);
|
||||||
BEGIN
|
BEGIN
|
||||||
Out(Streams.stdout, fmt, 9, p1,p2,p3,p4,p5,p6,p7,p8,p9, NIL);
|
Out(Streams.stdout, fmt, 9, p1,p2,p3,p4,p5,p6,p7,p8,p9, NIL);
|
||||||
END F9;
|
END F9;
|
||||||
|
|
||||||
|
|
||||||
PROCEDURE S(out: Streams.Stream; fmt: ARRAY OF CHAR);
|
PROCEDURE S*(out: Streams.Stream; fmt: ARRAY OF CHAR);
|
||||||
VAR x: INTEGER;
|
VAR x: INTEGER;
|
||||||
BEGIN
|
BEGIN
|
||||||
Out(out, fmt, 0, x,x,x,x,x,x,x,x,x, NIL);
|
Out(out, fmt, 0, x,x,x,x,x,x,x,x,x, NIL);
|
||||||
END S;
|
END S;
|
||||||
|
|
||||||
PROCEDURE S1(out: Streams.Stream; fmt: ARRAY OF CHAR; p1: ARRAY OF BYTE);
|
PROCEDURE S1*(out: Streams.Stream; fmt: ARRAY OF CHAR; p1: ARRAY OF SYS.BYTE);
|
||||||
VAR x: INTEGER;
|
VAR x: INTEGER;
|
||||||
BEGIN
|
BEGIN
|
||||||
Out(out, fmt, 1, p1, x,x,x,x,x,x,x,x, NIL);
|
Out(out, fmt, 1, p1, x,x,x,x,x,x,x,x, NIL);
|
||||||
END S1;
|
END S1;
|
||||||
|
|
||||||
PROCEDURE S2(out: Streams.Stream; fmt: ARRAY OF CHAR; p1, p2: ARRAY OF BYTE);
|
PROCEDURE S2*(out: Streams.Stream; fmt: ARRAY OF CHAR; p1, p2: ARRAY OF SYS.BYTE);
|
||||||
VAR x: INTEGER;
|
VAR x: INTEGER;
|
||||||
BEGIN
|
BEGIN
|
||||||
Out(out, fmt, 2, p1,p2, x,x,x,x,x,x,x, NIL);
|
Out(out, fmt, 2, p1,p2, x,x,x,x,x,x,x, NIL);
|
||||||
END S2;
|
END S2;
|
||||||
|
|
||||||
PROCEDURE S3(out: Streams.Stream; fmt: ARRAY OF CHAR; p1, p2, p3: ARRAY OF BYTE);
|
PROCEDURE S3*(out: Streams.Stream; fmt: ARRAY OF CHAR; p1, p2, p3: ARRAY OF SYS.BYTE);
|
||||||
VAR x: INTEGER;
|
VAR x: INTEGER;
|
||||||
BEGIN
|
BEGIN
|
||||||
Out(out, fmt, 3, p1,p2,p3, x,x,x,x,x,x, NIL);
|
Out(out, fmt, 3, p1,p2,p3, x,x,x,x,x,x, NIL);
|
||||||
END S3;
|
END S3;
|
||||||
|
|
||||||
PROCEDURE S4(out: Streams.Stream; fmt: ARRAY OF CHAR;
|
PROCEDURE S4*(out: Streams.Stream; fmt: ARRAY OF CHAR;
|
||||||
p1, p2, p3, p4: ARRAY OF BYTE);
|
p1, p2, p3, p4: ARRAY OF SYS.BYTE);
|
||||||
VAR x: INTEGER;
|
VAR x: INTEGER;
|
||||||
BEGIN
|
BEGIN
|
||||||
Out(out, fmt, 4, p1,p2,p3,p4, x,x,x,x,x, NIL);
|
Out(out, fmt, 4, p1,p2,p3,p4, x,x,x,x,x, NIL);
|
||||||
END S4;
|
END S4;
|
||||||
|
|
||||||
PROCEDURE S5(out: Streams.Stream; fmt: ARRAY OF CHAR;
|
PROCEDURE S5*(out: Streams.Stream; fmt: ARRAY OF CHAR;
|
||||||
p1, p2, p3, p4, p5: ARRAY OF BYTE);
|
p1, p2, p3, p4, p5: ARRAY OF SYS.BYTE);
|
||||||
VAR x: INTEGER;
|
VAR x: INTEGER;
|
||||||
BEGIN
|
BEGIN
|
||||||
Out(out, fmt, 5, p1,p2,p3,p4,p5, x,x,x,x, NIL);
|
Out(out, fmt, 5, p1,p2,p3,p4,p5, x,x,x,x, NIL);
|
||||||
END S5;
|
END S5;
|
||||||
|
|
||||||
PROCEDURE S6(out: Streams.Stream; fmt: ARRAY OF CHAR;
|
PROCEDURE S6*(out: Streams.Stream; fmt: ARRAY OF CHAR;
|
||||||
p1, p2, p3, p4, p5, p6: ARRAY OF BYTE);
|
p1, p2, p3, p4, p5, p6: ARRAY OF SYS.BYTE);
|
||||||
VAR x: INTEGER;
|
VAR x: INTEGER;
|
||||||
BEGIN
|
BEGIN
|
||||||
Out(out, fmt, 6, p1,p2,p3,p4,p5,p6, x,x,x, NIL);
|
Out(out, fmt, 6, p1,p2,p3,p4,p5,p6, x,x,x, NIL);
|
||||||
END S6;
|
END S6;
|
||||||
|
|
||||||
PROCEDURE S7(out: Streams.Stream; fmt: ARRAY OF CHAR;
|
PROCEDURE S7*(out: Streams.Stream; fmt: ARRAY OF CHAR;
|
||||||
p1, p2, p3, p4, p5, p6, p7: ARRAY OF BYTE);
|
p1, p2, p3, p4, p5, p6, p7: ARRAY OF SYS.BYTE);
|
||||||
VAR x: INTEGER;
|
VAR x: INTEGER;
|
||||||
BEGIN
|
BEGIN
|
||||||
Out(out, fmt, 7, p1,p2,p3,p4,p5,p6,p7, x,x, NIL);
|
Out(out, fmt, 7, p1,p2,p3,p4,p5,p6,p7, x,x, NIL);
|
||||||
END S7;
|
END S7;
|
||||||
|
|
||||||
PROCEDURE S8(out: Streams.Stream; fmt: ARRAY OF CHAR;
|
PROCEDURE S8*(out: Streams.Stream; fmt: ARRAY OF CHAR;
|
||||||
p1, p2, p3, p4, p5, p6, p7, p8: ARRAY OF BYTE);
|
p1, p2, p3, p4, p5, p6, p7, p8: ARRAY OF SYS.BYTE);
|
||||||
VAR x: INTEGER;
|
VAR x: INTEGER;
|
||||||
BEGIN
|
BEGIN
|
||||||
Out(out, fmt, 8, p1,p2,p3,p4,p5,p6,p7,p8, x, NIL);
|
Out(out, fmt, 8, p1,p2,p3,p4,p5,p6,p7,p8, x, NIL);
|
||||||
END S8;
|
END S8;
|
||||||
|
|
||||||
PROCEDURE S9(out: Streams.Stream; fmt: ARRAY OF CHAR;
|
PROCEDURE S9*(out: Streams.Stream; fmt: ARRAY OF CHAR;
|
||||||
p1, p2, p3, p4, p5, p6, p7, p8, p9: ARRAY OF BYTE);
|
p1, p2, p3, p4, p5, p6, p7, p8, p9: ARRAY OF SYS.BYTE);
|
||||||
BEGIN
|
BEGIN
|
||||||
Out(out, fmt, 9, p1,p2,p3,p4,p5,p6,p7,p8,p9, NIL);
|
Out(out, fmt, 9, p1,p2,p3,p4,p5,p6,p7,p8,p9, NIL);
|
||||||
END S9;
|
END S9;
|
||||||
|
|
||||||
|
|
||||||
PROCEDURE SE(out: Streams.Stream; fmt: ARRAY OF CHAR;
|
PROCEDURE SE*(out: Streams.Stream; fmt: ARRAY OF CHAR;
|
||||||
errors: RelatedEvents.Object);
|
errors: RelatedEvents.Object);
|
||||||
VAR x: INTEGER;
|
VAR x: INTEGER;
|
||||||
BEGIN
|
BEGIN
|
||||||
Out(out, fmt, 0, x,x,x,x,x,x,x,x,x, NIL);
|
Out(out, fmt, 0, x,x,x,x,x,x,x,x,x, NIL);
|
||||||
END SE;
|
END SE;
|
||||||
|
|
||||||
PROCEDURE SE1(out: Streams.Stream; fmt: ARRAY OF CHAR; p1: ARRAY OF BYTE;
|
PROCEDURE SE1*(out: Streams.Stream; fmt: ARRAY OF CHAR; p1: ARRAY OF SYS.BYTE;
|
||||||
errors: RelatedEvents.Object);
|
errors: RelatedEvents.Object);
|
||||||
VAR x: INTEGER;
|
VAR x: INTEGER;
|
||||||
BEGIN
|
BEGIN
|
||||||
Out(out, fmt, 1, p1, x,x,x,x,x,x,x,x, errors);
|
Out(out, fmt, 1, p1, x,x,x,x,x,x,x,x, errors);
|
||||||
END SE1;
|
END SE1;
|
||||||
|
|
||||||
PROCEDURE SE2(out: Streams.Stream; fmt: ARRAY OF CHAR; p1, p2: ARRAY OF BYTE;
|
PROCEDURE SE2*(out: Streams.Stream; fmt: ARRAY OF CHAR; p1, p2: ARRAY OF SYS.BYTE;
|
||||||
errors: RelatedEvents.Object);
|
errors: RelatedEvents.Object);
|
||||||
VAR x: INTEGER;
|
VAR x: INTEGER;
|
||||||
BEGIN
|
BEGIN
|
||||||
Out(out, fmt, 2, p1,p2, x,x,x,x,x,x,x, errors);
|
Out(out, fmt, 2, p1,p2, x,x,x,x,x,x,x, errors);
|
||||||
END SE2;
|
END SE2;
|
||||||
|
|
||||||
PROCEDURE SE3(out: Streams.Stream; fmt: ARRAY OF CHAR;
|
PROCEDURE SE3*(out: Streams.Stream; fmt: ARRAY OF CHAR;
|
||||||
p1, p2, p3: ARRAY OF BYTE;
|
p1, p2, p3: ARRAY OF SYS.BYTE;
|
||||||
errors: RelatedEvents.Object);
|
errors: RelatedEvents.Object);
|
||||||
VAR x: INTEGER;
|
VAR x: INTEGER;
|
||||||
BEGIN
|
BEGIN
|
||||||
Out(out, fmt, 3, p1,p2,p3, x,x,x,x,x,x, errors);
|
Out(out, fmt, 3, p1,p2,p3, x,x,x,x,x,x, errors);
|
||||||
END SE3;
|
END SE3;
|
||||||
|
|
||||||
PROCEDURE SE4(out: Streams.Stream; fmt: ARRAY OF CHAR;
|
PROCEDURE SE4*(out: Streams.Stream; fmt: ARRAY OF CHAR;
|
||||||
p1, p2, p3, p4: ARRAY OF BYTE;
|
p1, p2, p3, p4: ARRAY OF SYS.BYTE;
|
||||||
errors: RelatedEvents.Object);
|
errors: RelatedEvents.Object);
|
||||||
VAR x: INTEGER;
|
VAR x: INTEGER;
|
||||||
BEGIN
|
BEGIN
|
||||||
Out(out, fmt, 4, p1,p2,p3,p4, x,x,x,x,x, errors);
|
Out(out, fmt, 4, p1,p2,p3,p4, x,x,x,x,x, errors);
|
||||||
END SE4;
|
END SE4;
|
||||||
|
|
||||||
PROCEDURE SE5(out: Streams.Stream; fmt: ARRAY OF CHAR;
|
PROCEDURE SE5*(out: Streams.Stream; fmt: ARRAY OF CHAR;
|
||||||
p1, p2, p3, p4, p5: ARRAY OF BYTE;
|
p1, p2, p3, p4, p5: ARRAY OF SYS.BYTE;
|
||||||
errors: RelatedEvents.Object);
|
errors: RelatedEvents.Object);
|
||||||
VAR x: INTEGER;
|
VAR x: INTEGER;
|
||||||
BEGIN
|
BEGIN
|
||||||
Out(out, fmt, 5, p1,p2,p3,p4,p5, x,x,x,x, errors);
|
Out(out, fmt, 5, p1,p2,p3,p4,p5, x,x,x,x, errors);
|
||||||
END SE5;
|
END SE5;
|
||||||
|
|
||||||
PROCEDURE SE6(out: Streams.Stream; fmt: ARRAY OF CHAR;
|
PROCEDURE SE6*(out: Streams.Stream; fmt: ARRAY OF CHAR;
|
||||||
p1, p2, p3, p4, p5, p6: ARRAY OF BYTE;
|
p1, p2, p3, p4, p5, p6: ARRAY OF SYS.BYTE;
|
||||||
errors: RelatedEvents.Object);
|
errors: RelatedEvents.Object);
|
||||||
VAR x: INTEGER;
|
VAR x: INTEGER;
|
||||||
BEGIN
|
BEGIN
|
||||||
Out(out, fmt, 6, p1,p2,p3,p4,p5,p6, x,x,x, errors);
|
Out(out, fmt, 6, p1,p2,p3,p4,p5,p6, x,x,x, errors);
|
||||||
END SE6;
|
END SE6;
|
||||||
|
|
||||||
PROCEDURE SE7(out: Streams.Stream; fmt: ARRAY OF CHAR;
|
PROCEDURE SE7*(out: Streams.Stream; fmt: ARRAY OF CHAR;
|
||||||
p1, p2, p3, p4, p5, p6, p7: ARRAY OF BYTE;
|
p1, p2, p3, p4, p5, p6, p7: ARRAY OF SYS.BYTE;
|
||||||
errors: RelatedEvents.Object);
|
errors: RelatedEvents.Object);
|
||||||
VAR x: INTEGER;
|
VAR x: INTEGER;
|
||||||
BEGIN
|
BEGIN
|
||||||
Out(out, fmt, 7, p1,p2,p3,p4,p5,p6,p7, x,x, errors);
|
Out(out, fmt, 7, p1,p2,p3,p4,p5,p6,p7, x,x, errors);
|
||||||
END SE7;
|
END SE7;
|
||||||
|
|
||||||
PROCEDURE SE8(out: Streams.Stream; fmt: ARRAY OF CHAR;
|
PROCEDURE SE8*(out: Streams.Stream; fmt: ARRAY OF CHAR;
|
||||||
p1, p2, p3, p4, p5, p6, p7, p8: ARRAY OF BYTE;
|
p1, p2, p3, p4, p5, p6, p7, p8: ARRAY OF SYS.BYTE;
|
||||||
errors: RelatedEvents.Object);
|
errors: RelatedEvents.Object);
|
||||||
VAR x: INTEGER;
|
VAR x: INTEGER;
|
||||||
BEGIN
|
BEGIN
|
||||||
Out(out, fmt, 8, p1,p2,p3,p4,p5,p6,p7,p8, x, errors);
|
Out(out, fmt, 8, p1,p2,p3,p4,p5,p6,p7,p8, x, errors);
|
||||||
END SE8;
|
END SE8;
|
||||||
|
|
||||||
PROCEDURE SE9(out: Streams.Stream; fmt: ARRAY OF CHAR;
|
PROCEDURE SE9*(out: Streams.Stream; fmt: ARRAY OF CHAR;
|
||||||
p1, p2, p3, p4, p5, p6, p7, p8, p9: ARRAY OF BYTE;
|
p1, p2, p3, p4, p5, p6, p7, p8, p9: ARRAY OF SYS.BYTE;
|
||||||
errors: RelatedEvents.Object);
|
errors: RelatedEvents.Object);
|
||||||
BEGIN
|
BEGIN
|
||||||
Out(out, fmt, 9, p1,p2,p3,p4,p5,p6,p7,p8,p9, errors);
|
Out(out, fmt, 9, p1,p2,p3,p4,p5,p6,p7,p8,p9, errors);
|
||||||
|
|
@ -961,4 +961,4 @@ MODULE Print;
|
||||||
|
|
||||||
BEGIN
|
BEGIN
|
||||||
InitErrorHandling;
|
InitErrorHandling;
|
||||||
END Print.
|
END ulmPrint.
|
||||||
|
|
|
||||||
|
|
@ -280,7 +280,7 @@ MODULE ulmStreams;
|
||||||
so, connections with the standard UNIX streams must be
|
so, connections with the standard UNIX streams must be
|
||||||
done by other modules
|
done by other modules
|
||||||
*)
|
*)
|
||||||
stdin*, stdout, stderr: Stream;
|
stdin*, stdout*, stderr*: Stream;
|
||||||
errormsg*: ARRAY errorcodes OF Events.Message;
|
errormsg*: ARRAY errorcodes OF Events.Message;
|
||||||
error*: Events.EventType;
|
error*: Events.EventType;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue