INTEGER LINE(102),FROM(128),TO(128) INTEGER ALLBUT,COLLAP,I,LASTTO,TOSIZE INTEGER ARGLIN,GETARG,GETLIN,LENGTH,MAKSET,XINDEX INTEGER AAAAA0 INTEGER AAAAB0(41) INTEGER AAAAC0(21) INTEGER AAAAD0(19) INTEGER AAAAE0,AAAAF0,AAAAG0 DATA AAAAB0/213,243,225,231,229,186,160,244,236,233,244,160,188,23 *0,242,239,237,190,160,219,160,188,244,239,190,160,251,160,188,243, *244,242,233,238,231,190,160,253,160,221,0/ DATA AAAAC0/188,230,242,239,237,190,160,243,229,244,160,244,239,23 *9,160,236,225,242,231,229,0/ DATA AAAAD0/188,244,239,190,160,243,229,244,160,244,239,239,160,23 *6,225,242,231,229,0/ IF((GETARG(1,LINE,102).NE.-1))GOTO 10001 CALL ERROR(AAAAB0) 10001 IF((LINE(1).NE.254))GOTO 10002 ALLBUT=1 I=2 GOTO 10003 10002 ALLBUT=0 I=1 10003 IF((MAKSET(LINE,I,FROM,128).NE.0))GOTO 10004 CALL ERROR(AAAAC0) 10004 IF((GETARG(2,LINE,102).NE.-1))GOTO 10005 TO(1)=0 GOTO 10006 10005 IF((MAKSET(LINE,1,TO,128).NE.0))GOTO 10007 CALL ERROR(AAAAD0) 10007 CONTINUE 10006 CALL DELARG(1) CALL DELARG(1) TOSIZE=LENGTH(TO) IF((LENGTH(FROM).GT.TOSIZE))GOTO 10009 IF((ALLBUT.EQ.1))GOTO 10009 GOTO 10008 10009 COLLAP=1 GOTO 10010 10008 COLLAP=0 10010 LASTTO=0 I=1 GOTO 10013 10011 I=I+(1) 10013 IF((ARGLIN(I,LINE,102).EQ.-1))GOTO 10012 AAAAA0=1 GOTO 10000 10014 CALL PUTLIN(LINE,-11) GOTO 10011 10012 IF((I.NE.1))GOTO 10015 10016 IF((GETLIN(LINE,-10).EQ.-1))GOTO 10017 AAAAA0=2 GOTO 10000 10018 CALL PUTLIN(LINE,-11) GOTO 10016 10017 CONTINUE 10015 CALL SWT 10000 AAAAE0=1 AAAAF0=1 GOTO 10021 10019 AAAAE0=AAAAE0+(1) 10021 IF((LINE(AAAAE0).EQ.0))GOTO 10020 AAAAG0=XINDEX(FROM,LINE(AAAAE0),ALLBUT,TOSIZE) GOTO 10022 10023 IF((LASTTO.EQ.TOSIZE))GOTO 10024 LINE(AAAAF0)=TO(TOSIZE) AAAAF0=AAAAF0+(1) LASTTO=TOSIZE 10024 GOTO 10025 10026 LASTTO=AAAAG0 LINE(AAAAF0)=TO(AAAAG0) AAAAF0=AAAAF0+(1) GOTO 10025 10027 LASTTO=0 LINE(AAAAF0)=LINE(AAAAE0) AAAAF0=AAAAF0+(1) GOTO 10025 10022 IF((COLLAP.NE.1))GOTO 10028 IF((AAAAG0.LT.TOSIZE))GOTO 10028 IF((TOSIZE.LE.0))GOTO 10028 GOTO 10023 10028 IF((AAAAG0.LE.0))GOTO 10029 IF((TOSIZE.LE.0))GOTO 10029 GOTO 10026 10029 IF((AAAAG0.EQ.0))GOTO 10027 10025 GOTO 10019 10020 LINE(AAAAF0)=0 GOTO 10030 10030 GOTO(10014,10018),AAAAA0 GOTO 10030 END INTEGER FUNCTION ARGLIN(ARG,LINE,SIZE) INTEGER ARG,SIZE INTEGER LINE(SIZE) INTEGER I INTEGER GETARG I=GETARG(ARG,LINE,SIZE-1) IF((I.NE.-1))GOTO 10031 ARGLIN=I RETURN 10031 LINE(I+1)=138 LINE(I+2)=0 ARGLIN=I+1 RETURN END INTEGER FUNCTION MAKSET(ARRAY,K,SET,SIZE) INTEGER K,SIZE INTEGER ARRAY(1),SET(SIZE) INTEGER I,J INTEGER ADDSET I=K J=1 CALL FILSET(0,ARRAY,I,SET,J,SIZE) MAKSET=ADDSET(0,SET,J,SIZE) RETURN END INTEGER FUNCTION XINDEX(ARRAY,C,ALLBUT,TOSIZE) INTEGER ARRAY(1),C INTEGER ALLBUT,TOSIZE INTEGER INDEX IF((C.NE.0))GOTO 10032 XINDEX=0 GOTO 10033 10032 IF((ALLBUT.NE.0))GOTO 10034 XINDEX=INDEX(ARRAY,C) GOTO 10035 10034 IF((INDEX(ARRAY,C).LE.0))GOTO 10036 XINDEX=0 GOTO 10037 10036 XINDEX=TOSIZE+1 10037 CONTINUE 10035 CONTINUE 10033 RETURN END C ---- Long Name Map ---- C transliterate trans0