32 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			OpenEdge ABL
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			OpenEdge ABL
		
	
	
	
	
	
46000 #include "rundecs.h"
 | 
						|
46010     (*  COPYRIGHT 1983 C.H.LINDSEY, UNIVERSITY OF MANCHESTER  *)
 | 
						|
46020 (**)
 | 
						|
46030 (**)
 | 
						|
46040 FUNCTION STRUCTSCOPE(STRUCTPTR: UNDRESSP; TEMPLATE: DPOINT):DEPTHRANGE; EXTERN;
 | 
						|
46050 FUNCTION MULTSCOPE(MULT: OBJECTP):DEPTHRANGE; EXTERN;
 | 
						|
46060 PROCEDURE ERRORR(N :INTEGER); EXTERN ;
 | 
						|
46070 (**)
 | 
						|
46080 (**)
 | 
						|
46090 FUNCTION SCOPEXT(SOURCE: OBJECTP): OBJECTP;
 | 
						|
46100 (*PSCOPEEXT*)
 | 
						|
46110   VAR SOURCESCOPE: DEPTHRANGE;
 | 
						|
46120     BEGIN
 | 
						|
46130     WITH SOURCE^ DO
 | 
						|
46140       IF OSCOPE=0 THEN
 | 
						|
46150         IF SORT=STRUCT THEN
 | 
						|
46160           BEGIN
 | 
						|
46170           SOURCESCOPE := STRUCTSCOPE(INCPTR(SOURCE, STRUCTCONST), DBLOCK);
 | 
						|
46180           OSCOPE := SOURCESCOPE
 | 
						|
46190           END
 | 
						|
46200         ELSE SOURCESCOPE := MULTSCOPE(SOURCE)
 | 
						|
46210       ELSE SOURCESCOPE := OSCOPE;
 | 
						|
46220     IF SCOPE+FIRSTRG.RIBOFFSET^.RGSCOPE<=SOURCESCOPE THEN ERRORR(RSCOPE);
 | 
						|
46230     SCOPEXT := SOURCE;
 | 
						|
46240     END;
 | 
						|
46250 (**)
 | 
						|
46260 (**)
 | 
						|
46270 (*-02() BEGIN END ; ()-02*)
 | 
						|
46280 (*+01()
 | 
						|
46290 BEGIN (*OF MAIN PROGRAM*)
 | 
						|
46300 END (*OF EVERYTHING*).
 | 
						|
46310 ()+01*)
 |