Trailing-Edge
-
PDP-10 Archives
-
decuslib10-04
-
43,50325/flow.beg
There are no other files named flow.beg in the archive.
! File: FLOW.BEG
!
! This work was supported by the Advanced Research
! Projects Agency of the Office of the Secretary of
! Defense (F44620-73-C-0074) and is monitored by the
! Air Force Office of Scientific Research.
!
!
! THIS IS FLOW.BEG, IT IS USED AT LEAST IN FLOWAN,SYNTAX,TABLES
!
!
!-----------------------------------------------------------------------
!14. COMMON SUBEXPRESSION ELIMINATION AND FLOW-ANALYSIS
MACRO PUSHLV(L,N)=(REGISTER ZQ14;
MAP LVL L;
ZQ14_GETSPACE(GT,N);
(.ZQ14)<0,36>_.L[ALL];
L[CINX]_.ZQ14)$,
POPLV(L,N)=(REGISTER ZQ13;
MAP LVL L;
ZQ13_.L[CINX];
L[ALL]_.L[NALL];
RELEASESPACE(GT,.ZQ13,N))$,
INCLEVEL=LEVEL_.LEVEL+.LEVELINC$,
PAB(Z)=(MAP LVL Z;
LSET(LVLCOPY,.LEVEL);
PUSHLV(LVLCOPY,1);
PUSHLV(Z,1);
INCLEVEL;
LSET(Z,.LEVEL))$,
PAD(Z)=(MAP LVL Z;
POPLV(Z,1);
POPLV(LVLCOPY,1);
LEVEL_.LVLCOPY[CVAL])$,
LSET(P,Q)=P[CVAL]_Q$,
DOOTWICE(I)=DECR I FROM 1 TO 0 DO $,
FORALLRATORS(I)=IF SLOW THEN
DECR I FROM MAXOPERATOR TO 0 DO $,
NUMRANDS(N)=N[NODESIZEF]-1$,
FORALLRANDS(I,J)=DECR I FROM NUMRANDS(J) TO 0 DO $,
INCABC=ABCOUNT_.ABCOUNT+1$,
PUSHABC=(PUSHLV(ABCBASE,1);
LSET(ABCBASE,.ABCOUNT);
INCABC)$,
POPABC=POPLV(ABCBASE,1)$,
PUSHCURBOGLST=(PUSHLV(CURBOGLST,1); CURBOGLST[BASE]_MAKHDR(BOGREMOVE,BOGENTER))$,
POPCURBOGLST=POPLV(CURBOGLST,1)$,
PUSHCURPRLGLST=(PUSHLV(CURPRLGLST,1); CURPRLGLST[BASE]_MAKHDR(PRLGREMOVE,PRLGENTER))$,
POPCURPRLGLST=POPLV(CURPRLGLST,1)$;
BIND
ALL=0,
CVAL=1,
CINX=2,
NALL=3,
NVAL=4,
NINX=5;
STRUCTURE CSPPTR[I,J,K]=(.GT[@.CSPPTR,CSPARENT]+.I)<.J,.K>;
STRUCTURE INTITEM[I,J]=.INTITEM<.I,.J>;
MACRO BASE =0,0, 0,18$,
RLINK =1,0, 0,18$,
LLINK =1,0,18,18$,
CHAINF =RDATITEM(1)$,
INTCF =0,17$,
CHNHEAD =17,1$,
INTCHAINF =1,1, 0,17$,
CHAINHEAD =1,1,17, 1$,
KABC =1,1,23,13$,
KTYPE =1,1,18, 5$,
KCAUSE =RDATITEM(1)$,
ITEMSIZEF =RDATITEM(1)$,
ABCVAL =LDATITEM(1)$,
ITEMFPARENT =LDATITEM(1)$,
INTDATITEM(I) =1,I+1,0,36$,
RINTDATITEM(I) =1,I+1,0,18$,
LINTDATITEM(I) =1,I+1,18,18$,
DATITEM(I) =1,I, 0,36$,
LDATITEM(I) =1,I, 18,18$,
RDATITEM(I) =1,I, 0,18$,
NXTRLINK =2,0, 0,18$,
NXTLLINK =2,0,18,18$,
NXTDATITEM(I) =2,I, 0,36$,
PRVRLINK =3,0, 0,18$,
PRVLLINK =3,0,18,18$,
PRVITEMSIZEF =3,1, 0,18$,
PRVDATITEM(I) =3,I, 0,36$,
PRVABCVAL =3,1,18,18$,
ENTER =1,1, 0,18$,
REMOVE =1,1,18,18$,
PRLGLSTF=0,0,18$,
MULSTF =0,18,18$,
PSLGLSTF=1,0,18$,
EPLGLSTF=1,18,18$;
EXTERNAL ! FROM LSTPKG
LIFOENTER,
SORTENTER;
BIND
ALPHAENTER=SORTENTER,
RHOENTER=SORTENTER,
CHIENTER=SORTENTER,
OMEGAENTER=SORTENTER,
PRLGENTER=SORTENTER,
MUENTER=SORTENTER,
PSLGENTER=SORTENTER,
EPLGENTER=SORTENTER,
VCHGENTER=SORTENTER,
VUSEENTER=SORTENTER,
KILENTER=SORTENTER,
BOGENTER=LIFOENTER,
FREETEMPENTER=LIFOENTER,
TEMPENTER=LIFOENTER,
ALPHAREMOVE=2,
RHOREMOVE=3,
CHIREMOVE=0,
OMEGAREMOVE=2,
PRLGREMOVE=0,
MUREMOVE=0,
PSLGREMOVE=0,
EPLGREMOVE=0,
VCHGREMOVE=0,
VUSEREMOVE=0,
KILREMOVE=0,
FREETEMPREMOVE=0,
TEMPREMOVE=0,
BOGREMOVE=1;