29 lines
		
	
	
	
		
			860 B
		
	
	
	
		
			OpenEdge ABL
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
	
		
			860 B
		
	
	
	
		
			OpenEdge ABL
		
	
	
	
	
	
27600 #include "rundecs.h"
 | 
						|
27610     (*  COPYRIGHT 1983 C.H.LINDSEY, UNIVERSITY OF MANCHESTER  *)
 | 
						|
27620 (**)
 | 
						|
27630 (**)
 | 
						|
27640 FUNCTION CRREFN(ANOBJECT: OBJECTP): OBJECTP;
 | 
						|
27650 (*PCREATEREF*)
 | 
						|
27660   VAR  NEWREFN: OBJECTP;
 | 
						|
27670     BEGIN
 | 
						|
27680     ENEW(NEWREFN, REFNSIZE);
 | 
						|
27690     WITH NEWREFN^ DO
 | 
						|
27700       BEGIN
 | 
						|
27710 (*-02() FIRSTWORD := SORTSHIFT * ORD(REFN); ()-02*)
 | 
						|
27720 (*+02() PCOUNT:=0; SORT:=REFN; ()+02*)
 | 
						|
27730  (*+01() SECONDWORD := 0; ()+01*)
 | 
						|
27740       ANCESTOR := NEWREFN;
 | 
						|
27750       OFFSET := STRUCTCONST;
 | 
						|
27760       PVALUE := ANOBJECT;
 | 
						|
27770       OSCOPE := SCOPE+FIRSTRG.RIBOFFSET^.RGSCOPE;
 | 
						|
27780       WITH ANOBJECT^ DO FINC;
 | 
						|
27790       END;
 | 
						|
27800     CRREFN := NEWREFN;
 | 
						|
27810     END;
 | 
						|
27820 (**)
 | 
						|
27830 (**)
 | 
						|
27840 (*-02() BEGIN END ; ()-02*)
 | 
						|
27850 (*+01()
 | 
						|
27860 BEGIN (*OF MAIN PROGRAM*)
 | 
						|
27870 END (*OF EVERYTHING*).
 | 
						|
27880 ()+01*)
 |