ack/lang/a68s/liba68s/gtot.p
1988-10-04 13:41:01 +00:00

81 lines
2.1 KiB
OpenEdge ABL

33700 #include "rundecs.h"
33710 (* COPYRIGHT 1983 C.H.LINDSEY, UNIVERSITY OF MANCHESTER *)
33720 (**)
33730 (**)
33740 PROCEDURE GARBAGE(ANOBJECT:OBJECTP); EXTERN;
33750 FUNCTION DRESSN (CONTENTS: UNDRESSP; TEMPLATE: DPOINT): OBJECTP; EXTERN ;
33760 (**)
33770 (**)
33780 (*-01() (*-05()
33790 FUNCTION GTOTS(NAK: NAKED): A68INT;
33800 (*PGETTOTAL*)
33810 BEGIN
33820 GTOTS := NAK.POINTER^.FIRSTINT;
33830 IF FPTST(NAK.STOWEDVAL^) THEN GARBAGE(NAK.STOWEDVAL)
33840 END;
33850 (**)
33860 (**)
33870 FUNCTION GTOTS2(NAK: NAKED): A68LONG;
33880 (*PGETTOTAL+1*)
33890 BEGIN
33900 GTOTS2 := NAK.POINTER^.FIRSTLONG;
33910 IF FPTST(NAK.STOWEDVAL^) THEN GARBAGE(NAK.STOWEDVAL)
33920 END;
33930 ()-05*) ()-01*)
33940 (**)
33950 (**)
33960 FUNCTION GTOTP(NAK: NAKED): OBJECTP;
33970 (*PGETTOTAL+2*)
33980 VAR RESULT: OBJECTP;
33990 BEGIN WITH NAK DO
34000 BEGIN
34010 RESULT := POINTER^.FIRSTPTR;
34020 IF FPTST(STOWEDVAL^) THEN
34030 BEGIN
34040 FPINC(RESULT^);
34050 GARBAGE(STOWEDVAL);
34060 FPDEC(RESULT^);
34070 END;
34080 GTOTP := RESULT;
34090 END
34100 END;
34110 (**)
34120 (**)
34130 (*-01() (*-05()
34140 FUNCTION GTOTSTR(TEMP: NAKEGER): ASNAKED;
34150 (*PGETTOTCMN+1*)
34160 BEGIN WITH TEMP DO WITH NAK DO
34170 BEGIN
34180 POINTER := INCPTR(STOWEDVAL, POSITION);
34190 GTOTSTR := ASNAK;
34200 END
34210 END;
34220 (**)
34230 (**)
34240 FUNCTION GTOTRFR(TEMP: NAKEGER): ASNAKED;
34250 (*PGETTOTCMN+2*)
34260 BEGIN WITH TEMP DO WITH NAK DO
34270 BEGIN
34280 POINTER := INCPTR(STOWEDVAL^.ANCESTOR^.PVALUE, POSITION);
34290 GTOTRFR := ASNAK;
34300 END
34310 END;
34320 (**)
34330 (**)
34340 FUNCTION GTOTMUL(TEMP: NAKEGER): ASNAKED;
34350 (*PGETTOTCMN+3*)
34360 BEGIN WITH TEMP DO WITH NAK DO
34370 BEGIN
34380 POINTER := INCPTR(STOWEDVAL^.PVALUE, POSITION);
34390 GTOTMUL := ASNAK;
34400 END
34410 END;
34420 ()-05*) ()-01*)
34430 (**)
34440 (**)
34450 (*-02() BEGIN END ; ()-02*)
34460 (*+01()
34470 BEGIN (*OF MAIN PROGRAM*)
34480 END (*OF EVERYTHING*).
34490 ()+01*)