34600 #include "rundecs.h"
34610     (*  COPYRIGHT 1983 C.H.LINDSEY, UNIVERSITY OF MANCHESTER  *)
34620 (**)
34630 (**)
34640 PROCEDURE GARBAGE (ANOBJECT: OBJECTP); EXTERN ;
34650 PROCEDURE ERRORR(N :INTEGER); EXTERN ;
34660 (**)
34670 (**)
34680 FUNCTION GTOTREF (NAK: NAKED; TEMPLATE: DPOINT): OBJECTP;
34690 (*PGETTOTAL+4*)
34700   VAR OFFSPRING: OBJECTP;
34710     BEGIN
34720     WITH NAK, STOWEDVAL^ DO
34730       BEGIN
34740       CASE SORT OF
34750         UNDEF:ERRORR(RSEL);
34760         NILL:ERRORR(RSELNIL);
34770         REFSL1, REFSLN, REFR, RECR, RECN, REFN:
34780         END;
34790       ENEW(OFFSPRING, REFSL1SIZE);
34800       WITH ANCESTOR^ DO FINC;
34810       WITH OFFSPRING^ DO
34820         BEGIN
34830 (*-02() FIRSTWORD := SORTSHIFT*ORD(REFSL1); ()-02*)
34840 (*+02() PCOUNT:=0; SORT:=REFSL1; ()+02*)
34850 (*+01() SECONDWORD := 0; ()+01*)
34860         ANCESTOR := STOWEDVAL^.ANCESTOR;
34870         OFFSET := POSITION;
34880         DBLOCK := TEMPLATE;
34890         OSCOPE := STOWEDVAL^.OSCOPE
34900         END;
34910       IF FTST THEN GARBAGE(STOWEDVAL)
34920       END; (*WITH*)
34930     GTOTREF := OFFSPRING
34940     END;
34950 (**)
34960 (**)
34970 (*-02() BEGIN END ; ()-02*)
34980 (*+01()
34990 BEGIN (*OF MAIN PROGRAM*)
35000 END (*OF EVERYTHING*).
35010 ()+01*)