Files

48 lines
4.0 KiB
Plaintext

EXTERNAL FUNCTION (*SLST,OLST,OUTLST) 009890
NORMAL MODE IS INTEGER 009900
DIMENSION A(100),B(100) 009910
ENTRY TO YMATCH. 009920
PARTN.(SLST,A,$ NONE$) 009930
PARTN.(OLST,B,$/$) 009940
BA=1 009950
LIMIT=A(0) 009960
MARKC=1 009970
MORE MARKA=MARKC 009980
MKA=MARKA 099990
W'R A(MKA) .NE. 0, T'O FINDB 010000
W'R MKA .E. LIMIT, T'O AMARK 010010
MKA=MKA+1 000020
FINDB T'H FINDB, FOR I = MKA,1, I .E. LIMIT 010030
1.OR. LINKL.(A(I)) .NE. 0 .OR. A(I) .E. 0 010040
W'R A(I) .NE. 0, T'O BMARK 010050
MARKB=I-1 010060
MARKC=I 010070
T'O MATCH 010080
AMARK I=LIMIT 010090
BMARK MARKB=I 010100
FINDC T'H FINDC, FOR J=I+1,1, J.G. LIMIT 010110
1.OR. A(J) .E. 0 010120
MARKC=J 010130
MATCH W'R XMATCH.(A,B,MARKA,MARKB,MARKC,BA) .E. 0 010140
W'R MARKC .G. LIMIT, T'O SUCCES 010150
T'O MORE 010160
O'E 010170
SWITCH=1 010180
T'O FAIL 010190
E'L 010200
SUCCES SWITCH=2 010210
FAIL T'H MTB, FOR I=1,1, I.G. B(0) 010220
MTB IRALST.(B(I)) 010230
T'H MTA, FOR I=1,1, I .G. LIMIT 010240
W'R LINK.(A(I)) .NE. 0 010250
NEWBOT.(A(I),OUTLST) 010260
IRALST.(A(I)) 010270
O'E 010280
E'L 010290
MTA CONTINUE 010300
T'O END(STITCH) 010310
END(1) MTLIST.(OUTLST) 010320
F'N 0 010330
END(2) F'N OUTLST 010340
E'N 010350