ack/lang/a68s/liba68s/heapmul.p

38 lines
1 KiB
OpenEdge ABL
Raw Permalink Normal View History

1988-10-04 13:41:01 +00:00
36000 #include "rundecs.h"
36010 (* COPYRIGHT 1983 C.H.LINDSEY, UNIVERSITY OF MANCHESTER *)
36020 (**)
36030 (**)
36040 FUNCTION CRMULT(NEWMULT: OBJECTP; TEMPLATE: DPOINT): OBJECTP; EXTERN;
36050 (**)
36060 (**)
36070 FUNCTION HEAPMUL(NEWMULT: OBJECTP; TEMPLATE: DPOINT): OBJECTP;
36080 (*PLEAPGEN+4*)
36090 VAR NEWREF: OBJECTP;
36100 BEGIN
36110 NEWREF := CRMULT(NEWMULT, TEMPLATE);
36120 WITH NEWREF^ DO
36130 BEGIN
36140 SORT := REFR;
36150 OSCOPE := 3;
36160 ANCESTOR := NEWREF; CCOUNT := 1;
36170 END;
36180 HEAPMUL := NEWREF;
36190 END;
36200 (**)
36210 (**)
36220 FUNCTION GENMUL(NEWMULT: OBJECTP; TEMPLATE: DPOINT; LOCRG: DEPTHRANGE): OBJECTP;
36230 (*PLEAPGEN+3*)
36240 VAR NEWREFR: OBJECTP;
36250 BEGIN
36260 NEWREFR := HEAPMUL(NEWMULT, TEMPLATE);
36270 NEWREFR^.OSCOPE := SCOPE+LOCRG;
36280 GENMUL := NEWREFR;
36290 END;
36300 (**)
36310 (**)
36320 (*-02() BEGIN END ; ()-02*)
36330 (*+01()
36340 BEGIN (*OF MAIN PROGRAM*)
36350 END (*OF EVERYTHING*).
36360 ()+01*)