54 lines
1.6 KiB
OpenEdge ABL
54 lines
1.6 KiB
OpenEdge ABL
|
35400 #include "rundecs.h"
|
||
|
35410 (* COPYRIGHT 1983 C.H.LINDSEY, UNIVERSITY OF MANCHESTER *)
|
||
|
35420 (**)
|
||
|
35430 (**)
|
||
|
35440 PROCEDURE GARBAGE (ANOBJECT: OBJECTP); EXTERN;
|
||
|
35450 PROCEDURE ERRORR(N :INTEGER); EXTERN;
|
||
|
35460 (**)
|
||
|
35470 (**)
|
||
|
35480 FUNCTION GLDVAR (LOCRG: DEPTHRANGE; PTR: UNDRESSP; IBPT: IPOINT): OBJECTP;
|
||
|
35490 (*PLOADVAR+0,1,2*)
|
||
|
35500 VAR NEWCREFX: OBJECTP;
|
||
|
35510 CURR: IPOINT;
|
||
|
35520 BEGIN
|
||
|
35530 ENEW(NEWCREFX, CREFSIZE);
|
||
|
35540 WITH NEWCREFX^ DO
|
||
|
35550 BEGIN
|
||
|
35560 (*-02() FIRSTWORD := SORTSHIFT * ORD(CREF); ()-02*)
|
||
|
35570 (*+02() PCOUNT:=0; SORT:=CREF; ()+02*)
|
||
|
35580 (*+01() SECONDWORD := 0; ()+01*)
|
||
|
35590 ANCESTOR := NEWCREFX;
|
||
|
35600 PVALUE := HIGHPCOUNT;
|
||
|
35610 IPTR := PTR;
|
||
|
35620 CURR := STATIC(ME);
|
||
|
35630 SETMYSTATIC(IBPT);
|
||
|
35640 OSCOPE := SCOPE+LOCRG;
|
||
|
35650 SETMYSTATIC(CURR)
|
||
|
35660 END;
|
||
|
35670 GLDVAR := NEWCREFX;
|
||
|
35680 END;
|
||
|
35690 (**)
|
||
|
35700 (**)
|
||
|
35710 PROCEDURE GVSCOPE(SOURCE: OBJECTP; LOCRG: DEPTHRANGE; DEST: UNDRESSP; GLOBIB: IPOINT);
|
||
|
35720 (*PSCOPEVAR+1*)
|
||
|
35730 VAR CURR: IPOINT;
|
||
|
35740 BEGIN
|
||
|
35750 CURR := STATIC(ME);
|
||
|
35760 SETMYSTATIC(GLOBIB);
|
||
|
35770 IF SCOPE+LOCRG<SOURCE^.OSCOPE THEN ERRORR(RSCOPE);
|
||
|
35780 SETMYSTATIC(CURR);
|
||
|
35790 FPINC(SOURCE^);
|
||
|
35800 WITH DEST^ DO
|
||
|
35810 BEGIN
|
||
|
35820 FPINC(FIRSTPTR^); IF FPTST(FIRSTPTR^) THEN GARBAGE(FIRSTPTR);
|
||
|
35830 FIRSTPTR := SOURCE;
|
||
|
35840 END;
|
||
|
35850 END;
|
||
|
35860 (**)
|
||
|
35870 (**)
|
||
|
35880 (*-02() BEGIN END ; ()-02*)
|
||
|
35890 (*+01()
|
||
|
35900 BEGIN (*OF MAIN PROGRAM*)
|
||
|
35910 END (*OF EVERYTHING*).
|
||
|
35920 ()+01*)
|