PACKET net report DEFINES report, abgleich: (* Version 3 (!) *) LET reportcode = 99, abgleichcode = 98; PROC abgleich (INT CONST ende, zwischen): DATASPACE VAR ds := nilspace; BOUND STRUCT (INT ende, zwischen) VAR x := ds; x.ende := ende; x.zwischen := zwischen; call (father, abgleichcode, ds, rep); INT VAR rep; forget (ds) END PROC abgleich; PROC report (TEXT CONST x): report(x,"") END PROC report; PROC report (TEXT CONST txt, info): DATASPACE VAR net report := nilspace; BOUND TEXT VAR rinfo := net report; rinfo := date; rinfo CAT " "+time of day +" "; rinfo CAT name(myself)+":"; rinfo CAT txt; INT VAR i; FOR i FROM 1 UPTO length (info) REP INT VAR z := code (infoSUBi) ; IF z < 32 OR z > 126 THEN rinfo CAT "%"+text(z)+" " ELSE rinfo CAT (infoSUBi)+" " FI PER; call (father, report code , net report, reply); INT VAR reply; forget (net report); END PROC report; END PACKET net report;