|
|
1.1 ! root 1: INTEGER FUNCTION SETARG(PP, N) ! 2: INTEGER PLAT, DSA, PP, SYMLEN, PDSA ! 3: LOGICAL ERR, SYSERR, ABORT ! 4: COMMON /CTABL/ LDSA, PDSA, DSA(5000) ! 5: COMMON /DETECT/ ERR, SYSERR, ABORT ! 6: COMMON /GRAPH/ LLAT, PLAT, LAT(6000) ! 7: COMMON /PARAMS/ INUT, I1, NOCHAR, SYMLEN, I2, I3, I4 ! 8: C ! 9: C SETS UP LIST OF ARGUMENTS , HANGING OFF NODE AT LAT(PP) ! 10: C ARGES ARE KEPT IN ORDERED LINEAR LINKED LIST ! 11: C ORDERING CORRESPONDS TO LEFT TO RIGHT APPEARENCE IN DEFN ! 12: C N-SUBPRGM ENTRY IN DSA ! 13: C PP- CURRENT RTNE NODE IN LAT ! 14: C ARGUMENT NODE ! 15: C WD 1 ATTRIBUTES ! 16: C WD2 LENGTH WITH -1 FOR VARIABLEY DIMENSIONED ARRAYS ! 17: C WD3 HEAD OF PARENT REFS LIST ! 18: C WD4 HEAD OF DESCENDENTS REFS LIST ! 19: C WD5 PTR TO NEXT ARG ! 20: C ! 21: C FIND FIRST ARGUMENT & ZERO COUNT ! 22: C ! 23: J = DSA(N+2) ! 24: SETARG = 0 ! 25: IPROC = 0 ! 26: C ! 27: C FIND FIRST ENTRY ON DSA ARGLIST; ! 28: C KK HEAD OF TO BE CREATED ARGLIST IN LAT ! 29: C ! 30: I = DSA(J) ! 31: KK = PP + SYMLEN + 1 ! 32: C ! 33: C SETUP STORAGE FOR ARG ENTRY ! 34: C ! 35: 10 IF (PLAT+4.GE.LLAT) GO TO 80 ! 36: C ! 37: C ENTER ATTRIBUTE WORD AND ZERO REST OF ENTRY ! 38: C ! 39: LAT(PLAT) = DSA(I) ! 40: LAT(KK) = PLAT ! 41: KK = PLAT + 3 ! 42: DO 20 IA=1,3 ! 43: L = IA + PLAT ! 44: LAT(L) = 0 ! 45: 20 CONTINUE ! 46: K = IGATT1(I,8) ! 47: IF (K.NE.10) GO TO 50 ! 48: C ! 49: C GET STRUCTURE OF ARG ! 50: C ! 51: K = IGATT1(I,7) ! 52: IF (K) 40, 40, 30 ! 53: C ! 54: C ARRAY ! 55: C ! 56: 30 K = DSA(I+2) ! 57: LAT(PLAT+1) = DSA(K) ! 58: GO TO 60 ! 59: C ! 60: C SCALAR ! 61: C ! 62: 40 LAT(PLAT+1) = 1 ! 63: GO TO 60 ! 64: C SET RELATIVE ORDER OF PROC ARGS IN ITS 2ND WORD ! 65: 50 IPROC = IPROC + 1 ! 66: LAT(PLAT+1) = IPROC ! 67: C ! 68: C CHECK FOR MORE ARGS; ADVANCE PLAT ! 69: C ! 70: 60 PLAT = PLAT + 4 ! 71: SETARG = SETARG + 1 ! 72: IF (DSA(J+1)) 90, 90, 70 ! 73: 70 J = DSA(J+1) ! 74: I = DSA(J) ! 75: GO TO 10 ! 76: 80 SYSERR = .TRUE. ! 77: CALL ERROR1(33H IN SETARG, TABLE OVERFLOW OF LAT, 33) ! 78: 90 RETURN ! 79: END
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.