ack/lang/a68s/liba68s/crrefn.p

30 lines
860 B
OpenEdge ABL
Raw Normal View History

1988-10-04 13:41:01 +00:00
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*)