|
|
researchv10 Norman
INTEGER FUNCTION OUTLAT(IH, L, ISR)
INTEGER STACK, PLAT
LOGICAL ERR, SYSERR, ABORT
COMMON /DETECT/ ERR, SYSERR, ABORT
COMMON /GRAPH/ LLAT, PLAT, LAT(6000)
COMMON /CEXPRS/ LSTACK, STACK(620)
INTEGER SYMLEN
COMMON /PARAMS/ I1, I2, I3, SYMLEN, I4, I5, I6
C
C IH POINTS TO A PARENTS OR DESCS LIST IN LAT; L IS NUM
C OF ELEMENTS FOUND ON LIST; ISR IS ENTRY IN LAT OF
C SUPERROOT
C
C
OUTLAT = 0
IF (IH) 50, 50, 10
10 K = IH
L = 1
20 M = LAT(K)
C SKIP OVER CALLS TO ASFS AND OVER SUPEROOT
IF(MOD(IGATT2(M+SYMLEN+6,1),8).EQ.4 .OR. M.EQ.ISR) GOTO 30
IF(L+1.GT.LSTACK) GOTO 60
STACK(L) = M
L = L + 1
30 K = LAT(K+1)
IF (K) 40, 40, 20
40 L = L - 1
IF (L.GT.0) OUTLAT = 1
50 RETURN
60 CALL ERROR1(35H IN OUTLAT, TABLE OVERFLOW OF STACK, 35)
SYSERR = .TRUE.
GO TO 50
END
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.