mirror of
https://github.com/kennethreitz/elizagen.org.git
synced 2026-06-21 15:10:57 +00:00
48 lines
4.0 KiB
Plaintext
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
|