ack/lang/a68s/liba68s/pcollst.p

38 lines
1.1 KiB
OpenEdge ABL
Raw Permalink Normal View History

1988-10-04 13:41:01 +00:00
42000 #include "rundecs.h"
42010 (* COPYRIGHT 1983 C.H.LINDSEY, UNIVERSITY OF MANCHESTER *)
42020 (**)
42030 (**)
42040 FUNCTION PCOLLST(TEMPLATE: DPOINT): ASNAKED;
42050 (*PPREPSTRDISP*)
42060 VAR TEMP: NAKEGER;
42070 STRUCTSIZE: INTEGER;
42080 NEWSTRUCT: OBJECTP;
42090 BEGIN WITH TEMP.NAK DO
42100 BEGIN
42110 STRUCTSIZE := TEMPLATE^[0]+STRUCTCONST;
42120 (*+11() TEMP.ASNAK := 0; ()+11*)
42130 ENEW(NEWSTRUCT, STRUCTSIZE); POINTER := INCPTR(NEWSTRUCT, STRUCTCONST);
42140 STOWEDVAL := NEWSTRUCT;
42150 WITH NEWSTRUCT^ DO
42160 BEGIN
42170 (*-02() FIRSTWORD := SORTSHIFT * ORD(STRUCT); ()-02*)
42180 (*+02() PCOUNT:=0; SORT:=STRUCT; ()+02*)
42190 LENGTH := STRUCTSIZE; DBLOCK := TEMPLATE
42200 END;
42210 END;
42220 PCOLLST := TEMP.ASNAK;
42230 END;
42240 (*-05()
42250 FUNCTION NAKPTR(NAK: NAKED): OBJECTP;
42260 (*PNAKEDPTR*)
42270 VAR TEMP: NAKEGER;
42280 BEGIN NAKPTR := NAK.STOWEDVAL END;
42290 ()-05*)
42300 (**)
42310 (**)
42320 (*-02() BEGIN END ; ()-02*)
42330 (*+01()
42340 BEGIN (*OF MAIN PROGRAM*)
42350 END (*OF EVERYTHING*).
42360 ()+01*)