29 lines
		
	
	
	
		
			868 B
		
	
	
	
		
			OpenEdge ABL
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
	
		
			868 B
		
	
	
	
		
			OpenEdge ABL
		
	
	
	
	
	
| 50000 #include "rundecs.h"
 | |
| 50010     (*  COPYRIGHT 1983 C.H.LINDSEY, UNIVERSITY OF MANCHESTER  *)
 | |
| 50020 (**)
 | |
| 50030 (**)
 | |
| 50040 FUNCTION STRUCTSCOPE(STRUCTPTR: UNDRESSP; TEMPLATE: DPOINT):DEPTHRANGE;
 | |
| 50050   VAR TEMPOS, STRUCTPOS: INTEGER;
 | |
| 50060       NEWEST: DEPTHRANGE;
 | |
| 50070       PTR: UNDRESSP;
 | |
| 50080     BEGIN
 | |
| 50090     NEWEST := 0;
 | |
| 50100     TEMPOS := 1;
 | |
| 50110     STRUCTPOS := TEMPLATE^[1];
 | |
| 50120     WHILE STRUCTPOS>=0 DO
 | |
| 50130       BEGIN
 | |
| 50140       PTR := INCPTR(STRUCTPTR, STRUCTPOS);
 | |
| 50150       WITH PTR^.FIRSTPTR^ DO
 | |
| 50160         IF NEWEST<OSCOPE THEN NEWEST := OSCOPE;
 | |
| 50170       TEMPOS := TEMPOS+1;
 | |
| 50180       STRUCTPOS := TEMPLATE^[TEMPOS]
 | |
| 50190       END;
 | |
| 50200     STRUCTSCOPE := NEWEST
 | |
| 50210     END;
 | |
| 50220 (**)
 | |
| 50230 (**)
 | |
| 50240 (*-02() BEGIN END ; ()-02*)
 | |
| 50250 (*+01()
 | |
| 50260 BEGIN (*OF MAIN PROGRAM*)
 | |
| 50270 END (*OF EVERYTHING*).
 | |
| 50280 ()+01*)
 |