perm filename P.SAI[HAK,ROB] blob
sn#461586 filedate 1979-07-13 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00004 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 BEGIN "P"
C00004 00003 ! Program specific DEFINEs and REQUIREs
C00005 00004 ! Procedures
C00007 ENDMK
C⊗;
BEGIN "P"
COMMENT Degenerate PINKY;
REQUIRE "{}<>" DELIMITERS;
DEFINE !={COMMENT};
DEFINE SP={" "},
CR={('15&"")},
LF={('12&"")},
↓={(CR&LF)},
TAB={('11&"")},
FF={('14&"")},
ALT={('175&"")};
DEFINE ⊂ = {BEGIN};
DEFINE ⊃ = {END};
DEFINE THRU={STEP 1 UNTIL};
DEFINE PI = { 3.1415926536 };
DEFINE pos_int_infinity = { '377777777777 }; ! = 34359738367;
DEFINE neg_int_infinity = { '400000000000 }; ! = -34359738368;
DEFINE pos_real_infinity = { 1.70141182@38 }; ! just weird numbers that work;
DEFINE neg_real_infinity = { -1.69808878@38 };
DEFINE clear_screen = { CALL ((-1 LSH 18) + LOCATION ('004000000516), "TTYSET") };
DEFINE ErrQuit(str) = {
BEGIN
PRINT(str,↓);
CALL(1,"EXIT");
END; };
! Program specific DEFINEs and REQUIREs;
RECORD_CLASS who (RECORD_POINTER(who) next;
INTEGER jobnum,tty;
STRING ppn, name, room);
! Procedures;
!
34MLB:Marc Le Brun66Moravec
JJPPN:NNNNNNNNNNNNTTRRRRRRRRRRRRRRRRRR JJPPN:NNNNNNNNNNNNTTRRRRRRRRRRRRRRRRRR
;
STRING PROCEDURE who2str(RECORD_POINTER(who) rp);
⊂ "who2str"
STRING str;
IF EQU(who:ppn[rp],"*SEG* ")
THEN
str ← CVOS(who:job[rp]&who:ppn[rp]&":"&who:name[rp]&CVOS(who:tty[rp])&
who:room[rp]);
ELSE
str ← CVOS(who:job[rp]&who:ppn[rp]&":"&who:name[rp]&CVOS(who:tty[rp])&
who:room[rp]);
RETURN(str);
⊃ "who2str"
PROCEDURE printlist(RECORD_POINTER(who) leftcol, rightcol);
⊂ "printlist"
DO
⊂ "munchlist"
OUTSTR(rec2str(leftcol)&rec2str(rightcol)&↓);
IF leftcol THEN leftcol ← who:next[leftcol];
IF rightcol THEN rightcol ← who:next[rightcol];
⊃ "munchlist"
UNTIL leftcol=rightcol=NULL_RECORD;
⊃ "printlist"