SUBROUTINE START0 INTEGER CIFIL0,CIFDA0(10),CIERR0,CITRA0,CICNO0(10) INTEGER CIBUF0(10),CIQUO0,CISEA0,CIQUP0,CIERS0,CIPRO0,CIHEL0,CIDEF *0 INTEGER CIREC0 INTEGER * 4 CIMDA0,CIMSI0,CICHE0 COMMON /CICOM/CIQUO0,CISEA0,CIQUP0,CIPRO0,CIHEL0,CIERS0,CIDEF0,CIF *IL0,CITRA0,CIREC0,CIERR0,CIFDA0,CICNO0,CIBUF0,CIMDA0,CIMSI0,CICHE0 INTEGER OPEN,EQUAL INTEGER BUF(102) INTEGER AAAAA0(13) INTEGER AAAAB0(4) INTEGER AAAAC0(19) DATA AAAAA0/189,243,244,225,244,233,243,244,233,227,243,189,0/ DATA AAAAB0/249,229,243,0/ DATA AAAAC0/189,243,244,225,244,243,228,233,242,189,175,243,232,18 *9,240,233,228,189,0/ CALL EXPAND(AAAAA0,BUF,102) IF((EQUAL(BUF,AAAAB0).NE.1))GOTO 10000 CIREC0=OPEN(AAAAC0,3) IF((CIREC0.NE.-3))GOTO 10001 CALL PRINT(1,'can''t open record file*n.') GOTO 10003 10001 CALL WIND(CIREC0) 10002 GOTO 10003 10000 CIREC0=-3 10003 RETURN END SUBROUTINE STOPL0 INTEGER CIFIL0,CIFDA0(10),CIERR0,CITRA0,CICNO0(10) INTEGER CIBUF0(10),CIQUO0,CISEA0,CIQUP0,CIERS0,CIPRO0,CIHEL0,CIDEF *0 INTEGER CIREC0 INTEGER * 4 CIMDA0,CIMSI0,CICHE0 COMMON /CICOM/CIQUO0,CISEA0,CIQUP0,CIPRO0,CIHEL0,CIERS0,CIDEF0,CIF *IL0,CITRA0,CIREC0,CIERR0,CIFDA0,CICNO0,CIBUF0,CIMDA0,CIMSI0,CICHE0 IF((CIREC0.EQ.-3))GOTO 10004 CALL CLOSE(CIREC0) 10004 RETURN END SUBROUTINE LOGIN0(INFOF0,INFO) INTEGER INFOF0(1),INFO(1) INTEGER CIFIL0,CIFDA0(10),CIERR0,CITRA0,CICNO0(10) INTEGER CIBUF0(10),CIQUO0,CISEA0,CIQUP0,CIERS0,CIPRO0,CIHEL0,CIDEF *0 INTEGER CIREC0 INTEGER * 4 CIMDA0,CIMSI0,CICHE0 COMMON /CICOM/CIQUO0,CISEA0,CIQUP0,CIPRO0,CIHEL0,CIERS0,CIDEF0,CIF *IL0,CITRA0,CIREC0,CIERR0,CIFDA0,CICNO0,CIBUF0,CIMDA0,CIMSI0,CICHE0 INTEGER FMT(102) INTEGER AAAAD0(35) DATA AAAAD0/189,228,225,244,229,189,160,189,244,233,237,229,189,16 *0,189,240,233,228,189,160,189,245,243,229,242,189,170,181,177,244, *170,178,233,160,0/ IF((CIREC0.EQ.-3))GOTO 10005 CALL EXPAND(AAAAD0,FMT,102) CALL PRINT(CIREC0,FMT,CIFIL0) CALL PRINT(CIREC0,INFOF0,INFO) CALL PUTCH(138,CIREC0) CALL FLUSH$(CIREC0) 10005 RETURN END SUBROUTINE PROCE0 INTEGER CIFIL0,CIFDA0(10),CIERR0,CITRA0,CICNO0(10) INTEGER CIBUF0(10),CIQUO0,CISEA0,CIQUP0,CIERS0,CIPRO0,CIHEL0,CIDEF *0 INTEGER CIREC0 INTEGER * 4 CIMDA0,CIMSI0,CICHE0 COMMON /CICOM/CIQUO0,CISEA0,CIQUP0,CIPRO0,CIHEL0,CIERS0,CIDEF0,CIF *IL0,CITRA0,CIREC0,CIERR0,CIFDA0,CICNO0,CIBUF0,CIMDA0,CIMSI0,CICHE0 INTEGER STR(102) INTEGER COMMA0 INTEGER SVGET INTEGER AAAAE0(7) DATA AAAAE0/223,232,229,236,236,239,0/ IF((SVGET(AAAAE0,STR,102).EQ.-1))GOTO 10006 IF((STR(1).EQ.0))GOTO 10006 CALL LSMAKE(COMMA0,STR) CALL PUTBA0(COMMA0) IF((AND(CITRA0,:100000).EQ.0))GOTO 10007 CALL NETTR0(COMMA0,CIFIL0) 10007 CONTINUE 10006 RETURN END INTEGER FUNCTION SHELL(FD) INTEGER FD INTEGER CIFIL0,CIFDA0(10),CIERR0,CITRA0,CICNO0(10) INTEGER CIBUF0(10),CIQUO0,CISEA0,CIQUP0,CIERS0,CIPRO0,CIHEL0,CIDEF *0 INTEGER CIREC0 INTEGER * 4 CIMDA0,CIMSI0,CICHE0 COMMON /CICOM/CIQUO0,CISEA0,CIQUP0,CIPRO0,CIHEL0,CIERS0,CIDEF0,CIF *IL0,CITRA0,CIREC0,CIERR0,CIFDA0,CICNO0,CIBUF0,CIMDA0,CIMSI0,CICHE0 COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESES0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESET0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESEU0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEV0(680),NEWSC0(85,51),RESEW0(785),CURSC0(85,51),RESEX0 *(785),TCCLE0(10),TCCLF0(10),TCCLG0(10),TCCUR0(10),TCCUS0(10),TCCUT *0(10),TCCUU0(10),TCCUV0(10),TCABS0(10),TCVER0(10),TCHOR0(10),TCINS *0(10),TCDEL0(10),TCSHI0(10),TCSHJ0(10),TCCOO0,TCSHK0,TCCOP0,TCSEQ0 *,TCSPE0,TCCLH0,TCLIN0,TCPOS0,TCWRA0,TCCLR0,TCCEO0,TCCEP0,TCABT0,TC *VES0,TCHOS0,TCHOM0,TCLEF0,TCUPL0,UNPRI0,COLCH0(51),COLCI0(51),ROWC *H0,ROWCI0,LASTC0(51),MAXRO0,MAXCO0,CURRO0,CURCO0,MSGRO0,MSGOW0(85) *,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0(128,20),LASTF0,TABSA0(85),INPU *T0(51),INPUU0(51),INBUF0(85),LASTD0,INSER0,INVER0,DUPLE0,INPUV0,PB *BUF0(400),PBPTR0,FNUSE0(20),DEFBU0(1000),LASTE0,NESTI0,RESEY0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESES0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESET0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESEU0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEV0,NEWSC0,RESEW0,CURSC0,RESEX0,TCCLE0,TCC *LF0,TCCLG0,TCCUR0,TCCUS0,TCCUT0,TCCUU0,TCCUV0,TCABS0,TCVER0,TCHOR0 *,TCINS0,TCDEL0,TCCLH0,TCLIN0,TCPOS0,TCSHI0,TCSHJ0,TCCOO0,TCSHK0,TC *COP0,TCSEQ0,TCDEM0,TCWRA0,TCCLR0,TCSPE0,TCCEO0,TCCEP0,TCABT0,TCVES *0,TCHOS0,UNPRI0,COLCH0,COLCI0,ROWCH0,ROWCI0,LASTC0,MAXRO0,MAXCO0,C *URRO0,CURCO0,MSGRO0,MSGOW0,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0,LAST *F0,TABSA0,INPUT0,INPUU0,INBUF0,LASTD0,INSER0,INVER0,DUPLE0,INPUV0, *PBBUF0,PBPTR0,FNUSE0,DEFBU0,LASTE0,NESTI0,TCHOM0,TCLEF0,TCUPL0,RES *EY0 INTEGER FDESC0(16),FDDEV0(1),FDUNI0(1),FDBUG0(1),FDBUH0(1),FDBUI0( *1),FDCOU0(1),FDBCO0(1),FDFLA0(1),FDVCS0(1),FDVCT0(1),FDOPS0(1),FDO *PT0(1),FDOPU0(1) INTEGER HPTRA0(128) INTEGER HBUFA0(4096) INTEGER HBFAA0,HBLAA0,HPFAA0,HPLAA0,HLINE0,HONAA0 COMMON /HISTCM/HBFAA0,HBLAA0,HPFAA0,HPLAA0,HLINE0,HPTRA0,HBUFA0,HO *NAA0 LOGICAL TRACE INTEGER COMMB0 INTEGER STATUS INTEGER VAL(2) INTEGER GETCL,EVALN0,EVALFN,EVALIT,EVALCN INTEGER SVGET,ISATTY EXTERNAL SHANY$ SHORTCALL MKONU$(24) INTEGER AAAAF0(3) INTEGER AAAAG0(34) INTEGER AAAAH0(11) INTEGER AAAAI0(10) INTEGER AAAAJ0(35) INTEGER AAAAK0(11) INTEGER AAAAL0(11) EQUIVALENCE (FDMEM0,FDESC0),(FDDEV0,FDESC0(1)),(FDUNI0,FDESC0(2)), *(FDBUG0,FDESC0(3)),(FDBUH0,FDESC0(4)),(FDBUI0,FDESC0(5)),(FDCOU0,F *DESC0(6)),(FDBCO0,FDESC0(7)),(FDFLA0,FDESC0(8)),(FDVCS0,FDESC0(9)) *,(FDVCT0,FDESC0(10)),(FDOPS0,FDESC0(11)),(FDOPT0,FDESC0(12)),(FDOP *U0,FDESC0(13)) DATA AAAAF0/4,-15922,-9820/ DATA AAAAG0/211,232,229,236,236,160,210,229,227,245,242,243,233,23 *9,238,160,204,233,237,233,244,160,197,248,227,229,229,228,229,228, *161,170,238,0/ DATA AAAAH0/189,246,225,242,243,230,233,236,229,189,0/ DATA AAAAI0/223,238,239,244,244,249,229,239,230,0/ DATA AAAAJ0/245,243,229,160,167,243,244,239,240,167,160,244,239,16 *0,229,248,233,244,160,244,232,229,160,243,245,226,243,249,243,244, *229,237,170,238,0/ DATA AAAAK0/189,246,225,242,243,230,233,236,229,189,0/ DATA AAAAL0/189,232,233,243,244,230,233,236,229,189,0/ CALL MKONU$(AAAAF0,LOC(SHANY$)) IF((CIFIL0.LT.10))GOTO 10008 CALL PRINT(1,AAAAG0) SHELL=-3 RETURN 10008 CIFIL0=CIFIL0+(1) CIBUF0(CIFIL0)=0 CIFDA0(CIFIL0)=FD IF((CIFIL0.NE.1))GOTO 10009 CICNO0(1)=0 TRACE=(AND(CITRA0,:4).NE.0) CALL SVREST(AAAAH0,TRACE) CALL PROCE0 GOTO 10010 10009 CICNO0(CIFIL0)=CICNO0(CIFIL0-1) CALL SVPUSH CALL SAVES0 10010 CONTINUE 1 STATUS=-2 10011 IF((GETCL(COMMB0).EQ.-1))GOTO 10012 IF((CMDST0.NE.0))GOTO 10013 IF((AND(CITRA0,:2000).EQ.0))GOTO 10013 CALL SINGL0(STATUS) 10013 IF((STATUS.EQ.-3))GOTO 10014 IF((CMDST0.NE.0))GOTO 10014 IF((EVALN0(COMMB0,STATUS).EQ.-3))GOTO 10014 IF((EVALCN(COMMB0,STATUS).EQ.-3))GOTO 10014 IF((EVALFN(COMMB0,STATUS).EQ.-3))GOTO 10014 IF((EVALN0(COMMB0,STATUS).EQ.-3))GOTO 10014 IF((EVALIT(COMMB0,STATUS).EQ.-3))GOTO 10014 IF((EVALN0(COMMB0,STATUS).EQ.-3))GOTO 10014 CALL PARSE(COMMB0,STATUS) 10014 CALL LSFREE(COMMB0,10000) CALL REMOV0 CALL BREAK$(1) IF((CMDST0.EQ.0))GOTO 10015 STATUS=-3 10015 IF((STATUS.NE.-3))GOTO 10016 CALL ERRMSG(0,0,0) IF((CIFIL0.LE.1))GOTO 10017 IF((ISATTY(CIFDA0(CIFIL0)).EQ.1))GOTO 10017 CALL BREAK$(0) GOTO 10012 10017 CONTINUE 10016 STATUS=-2 CMDST0=0 CALL BREAK$(0) GOTO 10011 10012 IF((ISPHA0.NE.0))GOTO 10018 IF((CIFIL0.GT.1))GOTO 10018 IF((SVGET(AAAAI0,VAL,2).LT.0))GOTO 10019 CALL PRINT(1,AAAAJ0) GOTO 1 10019 CONTINUE 10018 IF((CIFIL0.NE.1))GOTO 10020 TRACE=(AND(CITRA0,:4).NE.0) CALL SVSAVE(AAAAK0,TRACE) IF((HONAA0.NE.1))GOTO 10022 IF((ISPHA0.NE.0))GOTO 10022 CALL HISTT0(AAAAL0) 10021 GOTO 10022 10020 CALL RESTO0 CALL SVPOP 10022 CIFIL0=CIFIL0-(1) SHELL=STATUS RETURN END SUBROUTINE SINGL0(STATUS) INTEGER STATUS INTEGER C INTEGER GETCH CALL PRINT(1,'continue? .') 10023 IF((GETCH(C,1).NE.160))GOTO 10024 GOTO 10023 10024 IF((C.EQ.-1))GOTO 10026 IF((C.EQ.238))GOTO 10026 IF((C.EQ.206))GOTO 10026 GOTO 10025 10026 STATUS=-3 GOTO 10027 10025 STATUS=-2 10027 CONTINUE 10028 IF((C.EQ.138))GOTO 10029 IF((C.EQ.-1))GOTO 10029 CALL GETCH(C,1) GOTO 10028 10029 RETURN END SUBROUTINE NETTR0(CMD,LEVEL,TYPE) INTEGER CMD INTEGER LEVEL INTEGER TYPE(1) LOGICAL MISSIN INTEGER AAAAM0(7) INTEGER AAAAN0(10) DATA AAAAM0/219,170,178,233,221,160,0/ DATA AAAAN0/219,170,178,233,186,170,243,221,160,0/ IF((.NOT.MISSIN(TYPE)))GOTO 10030 CALL PRINT(1,AAAAM0,LEVEL) GOTO 10031 10030 CALL PRINT(1,AAAAN0,LEVEL,TYPE) 10031 CALL LSPUTF(CMD,1) CALL PUTCH(138,1) RETURN END SUBROUTINE SEARC0(P,C1,C1POS,C2,C2POS) INTEGER P INTEGER C1,C2 INTEGER C1POS,C2POS COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESES0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESET0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESEU0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEV0(680),NEWSC0(85,51),RESEW0(785),CURSC0(85,51),RESEX0 *(785),TCCLE0(10),TCCLF0(10),TCCLG0(10),TCCUR0(10),TCCUS0(10),TCCUT *0(10),TCCUU0(10),TCCUV0(10),TCABS0(10),TCVER0(10),TCHOR0(10),TCINS *0(10),TCDEL0(10),TCSHI0(10),TCSHJ0(10),TCCOO0,TCSHK0,TCCOP0,TCSEQ0 *,TCSPE0,TCCLH0,TCLIN0,TCPOS0,TCWRA0,TCCLR0,TCCEO0,TCCEP0,TCABT0,TC *VES0,TCHOS0,TCHOM0,TCLEF0,TCUPL0,UNPRI0,COLCH0(51),COLCI0(51),ROWC *H0,ROWCI0,LASTC0(51),MAXRO0,MAXCO0,CURRO0,CURCO0,MSGRO0,MSGOW0(85) *,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0(128,20),LASTF0,TABSA0(85),INPU *T0(51),INPUU0(51),INBUF0(85),LASTD0,INSER0,INVER0,DUPLE0,INPUV0,PB *BUF0(400),PBPTR0,FNUSE0(20),DEFBU0(1000),LASTE0,NESTI0,RESEY0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESES0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESET0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESEU0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEV0,NEWSC0,RESEW0,CURSC0,RESEX0,TCCLE0,TCC *LF0,TCCLG0,TCCUR0,TCCUS0,TCCUT0,TCCUU0,TCCUV0,TCABS0,TCVER0,TCHOR0 *,TCINS0,TCDEL0,TCCLH0,TCLIN0,TCPOS0,TCSHI0,TCSHJ0,TCCOO0,TCSHK0,TC *COP0,TCSEQ0,TCDEM0,TCWRA0,TCCLR0,TCSPE0,TCCEO0,TCCEP0,TCABT0,TCVES *0,TCHOS0,UNPRI0,COLCH0,COLCI0,ROWCH0,ROWCI0,LASTC0,MAXRO0,MAXCO0,C *URRO0,CURCO0,MSGRO0,MSGOW0,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0,LAST *F0,TABSA0,INPUT0,INPUU0,INBUF0,LASTD0,INSER0,INVER0,DUPLE0,INPUV0, *PBBUF0,PBPTR0,FNUSE0,DEFBU0,LASTE0,NESTI0,TCHOM0,TCLEF0,TCUPL0,RES *EY0 INTEGER FDESC0(16),FDDEV0(1),FDUNI0(1),FDBUG0(1),FDBUH0(1),FDBUI0( *1),FDCOU0(1),FDBCO0(1),FDFLA0(1),FDVCS0(1),FDVCT0(1),FDOPS0(1),FDO *PT0(1),FDOPU0(1) INTEGER POS INTEGER PTR INTEGER C,QUOTE INTEGER AAAAO0 EQUIVALENCE (FDMEM0,FDESC0),(FDDEV0,FDESC0(1)),(FDUNI0,FDESC0(2)), *(FDBUG0,FDESC0(3)),(FDBUH0,FDESC0(4)),(FDBUI0,FDESC0(5)),(FDCOU0,F *DESC0(6)),(FDBCO0,FDESC0(7)),(FDFLA0,FDESC0(8)),(FDVCS0,FDESC0(9)) *,(FDVCT0,FDESC0(10)),(FDOPS0,FDESC0(11)),(FDOPT0,FDESC0(12)),(FDOP *U0,FDESC0(13)) C1POS=0 C2POS=0 POS=0 PTR=P 10033 AAAAO0=1 GOTO 10032 10034 CONTINUE 10035 IF((C.EQ.162))GOTO 10037 IF((C.EQ.167))GOTO 10037 GOTO 10036 10037 QUOTE=C 10038 AAAAO0=2 GOTO 10032 10039 CONTINUE IF((C.EQ.QUOTE))GOTO 10040 IF((C.EQ.0))GOTO 10040 GOTO 10038 10040 CONTINUE IF((C.EQ.0))GOTO 10035 AAAAO0=3 GOTO 10032 10042 CONTINUE 10041 GOTO 10035 10036 IF((C.NE.0))GOTO 10043 RETURN 10043 IF((C.NE.C1))GOTO 10044 C1POS=POS GOTO 10045 10044 IF((C.NE.C2))GOTO 10046 C2POS=POS RETURN 10046 CONTINUE 10045 CONTINUE GOTO 10033 10032 CONTINUE 10047 IF((LSREF0(PTR).LT.300))GOTO 10048 PTR=LSREF0(PTR)-300 GOTO 10047 10048 C=LSREF0(PTR) IF((C.EQ.0))GOTO 10049 PTR=PTR+(1) 10049 POS=POS+(1) GOTO 10050 10050 GOTO(10034,10039,10042),AAAAO0 GOTO 10050 END INTEGER FUNCTION NEXTU0(PTR,POS,C) INTEGER PTR INTEGER POS INTEGER C COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESES0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESET0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESEU0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEV0(680),NEWSC0(85,51),RESEW0(785),CURSC0(85,51),RESEX0 *(785),TCCLE0(10),TCCLF0(10),TCCLG0(10),TCCUR0(10),TCCUS0(10),TCCUT *0(10),TCCUU0(10),TCCUV0(10),TCABS0(10),TCVER0(10),TCHOR0(10),TCINS *0(10),TCDEL0(10),TCSHI0(10),TCSHJ0(10),TCCOO0,TCSHK0,TCCOP0,TCSEQ0 *,TCSPE0,TCCLH0,TCLIN0,TCPOS0,TCWRA0,TCCLR0,TCCEO0,TCCEP0,TCABT0,TC *VES0,TCHOS0,TCHOM0,TCLEF0,TCUPL0,UNPRI0,COLCH0(51),COLCI0(51),ROWC *H0,ROWCI0,LASTC0(51),MAXRO0,MAXCO0,CURRO0,CURCO0,MSGRO0,MSGOW0(85) *,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0(128,20),LASTF0,TABSA0(85),INPU *T0(51),INPUU0(51),INBUF0(85),LASTD0,INSER0,INVER0,DUPLE0,INPUV0,PB *BUF0(400),PBPTR0,FNUSE0(20),DEFBU0(1000),LASTE0,NESTI0,RESEY0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESES0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESET0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESEU0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEV0,NEWSC0,RESEW0,CURSC0,RESEX0,TCCLE0,TCC *LF0,TCCLG0,TCCUR0,TCCUS0,TCCUT0,TCCUU0,TCCUV0,TCABS0,TCVER0,TCHOR0 *,TCINS0,TCDEL0,TCCLH0,TCLIN0,TCPOS0,TCSHI0,TCSHJ0,TCCOO0,TCSHK0,TC *COP0,TCSEQ0,TCDEM0,TCWRA0,TCCLR0,TCSPE0,TCCEO0,TCCEP0,TCABT0,TCVES *0,TCHOS0,UNPRI0,COLCH0,COLCI0,ROWCH0,ROWCI0,LASTC0,MAXRO0,MAXCO0,C *URRO0,CURCO0,MSGRO0,MSGOW0,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0,LAST *F0,TABSA0,INPUT0,INPUU0,INBUF0,LASTD0,INSER0,INVER0,DUPLE0,INPUV0, *PBBUF0,PBPTR0,FNUSE0,DEFBU0,LASTE0,NESTI0,TCHOM0,TCLEF0,TCUPL0,RES *EY0 INTEGER FDESC0(16),FDDEV0(1),FDUNI0(1),FDBUG0(1),FDBUH0(1),FDBUI0( *1),FDCOU0(1),FDBCO0(1),FDFLA0(1),FDVCS0(1),FDVCT0(1),FDOPS0(1),FDO *PT0(1),FDOPU0(1) INTEGER QUOTE INTEGER AAAAP0 EQUIVALENCE (FDMEM0,FDESC0),(FDDEV0,FDESC0(1)),(FDUNI0,FDESC0(2)), *(FDBUG0,FDESC0(3)),(FDBUH0,FDESC0(4)),(FDBUI0,FDESC0(5)),(FDCOU0,F *DESC0(6)),(FDBCO0,FDESC0(7)),(FDFLA0,FDESC0(8)),(FDVCS0,FDESC0(9)) *,(FDVCT0,FDESC0(10)),(FDOPS0,FDESC0(11)),(FDOPT0,FDESC0(12)),(FDOP *U0,FDESC0(13)) AAAAP0=1 GOTO 10051 10052 CONTINUE 10053 IF((C.EQ.167))GOTO 10055 IF((C.EQ.162))GOTO 10055 GOTO 10054 10055 QUOTE=C 10056 AAAAP0=2 GOTO 10051 10057 CONTINUE IF((C.EQ.QUOTE))GOTO 10058 IF((C.EQ.0))GOTO 10058 GOTO 10056 10058 CONTINUE IF((C.EQ.0))GOTO 10053 AAAAP0=3 GOTO 10051 10060 CONTINUE 10059 GOTO 10053 10054 NEXTU0=C RETURN 10051 CONTINUE 10061 IF((LSREF0(PTR).LT.300))GOTO 10062 PTR=LSREF0(PTR)-300 GOTO 10061 10062 C=LSREF0(PTR) IF((C.EQ.0))GOTO 10063 PTR=PTR+(1) 10063 POS=POS+(1) GOTO 10064 10064 GOTO(10052,10057,10060),AAAAP0 GOTO 10064 END INTEGER FUNCTION GETCL(COMMB0) INTEGER COMMB0 INTEGER CIFIL0,CIFDA0(10),CIERR0,CITRA0,CICNO0(10) INTEGER CIBUF0(10),CIQUO0,CISEA0,CIQUP0,CIERS0,CIPRO0,CIHEL0,CIDEF *0 INTEGER CIREC0 INTEGER * 4 CIMDA0,CIMSI0,CICHE0 COMMON /CICOM/CIQUO0,CISEA0,CIQUP0,CIPRO0,CIHEL0,CIERS0,CIDEF0,CIF *IL0,CITRA0,CIREC0,CIERR0,CIFDA0,CICNO0,CIBUF0,CIMDA0,CIMSI0,CICHE0 COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESES0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESET0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESEU0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEV0(680),NEWSC0(85,51),RESEW0(785),CURSC0(85,51),RESEX0 *(785),TCCLE0(10),TCCLF0(10),TCCLG0(10),TCCUR0(10),TCCUS0(10),TCCUT *0(10),TCCUU0(10),TCCUV0(10),TCABS0(10),TCVER0(10),TCHOR0(10),TCINS *0(10),TCDEL0(10),TCSHI0(10),TCSHJ0(10),TCCOO0,TCSHK0,TCCOP0,TCSEQ0 *,TCSPE0,TCCLH0,TCLIN0,TCPOS0,TCWRA0,TCCLR0,TCCEO0,TCCEP0,TCABT0,TC *VES0,TCHOS0,TCHOM0,TCLEF0,TCUPL0,UNPRI0,COLCH0(51),COLCI0(51),ROWC *H0,ROWCI0,LASTC0(51),MAXRO0,MAXCO0,CURRO0,CURCO0,MSGRO0,MSGOW0(85) *,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0(128,20),LASTF0,TABSA0(85),INPU *T0(51),INPUU0(51),INBUF0(85),LASTD0,INSER0,INVER0,DUPLE0,INPUV0,PB *BUF0(400),PBPTR0,FNUSE0(20),DEFBU0(1000),LASTE0,NESTI0,RESEY0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESES0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESET0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESEU0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEV0,NEWSC0,RESEW0,CURSC0,RESEX0,TCCLE0,TCC *LF0,TCCLG0,TCCUR0,TCCUS0,TCCUT0,TCCUU0,TCCUV0,TCABS0,TCVER0,TCHOR0 *,TCINS0,TCDEL0,TCCLH0,TCLIN0,TCPOS0,TCSHI0,TCSHJ0,TCCOO0,TCSHK0,TC *COP0,TCSEQ0,TCDEM0,TCWRA0,TCCLR0,TCSPE0,TCCEO0,TCCEP0,TCABT0,TCVES *0,TCHOS0,UNPRI0,COLCH0,COLCI0,ROWCH0,ROWCI0,LASTC0,MAXRO0,MAXCO0,C *URRO0,CURCO0,MSGRO0,MSGOW0,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0,LAST *F0,TABSA0,INPUT0,INPUU0,INBUF0,LASTD0,INSER0,INVER0,DUPLE0,INPUV0, *PBBUF0,PBPTR0,FNUSE0,DEFBU0,LASTE0,NESTI0,TCHOM0,TCLEF0,TCUPL0,RES *EY0 INTEGER FDESC0(16),FDDEV0(1),FDUNI0(1),FDBUG0(1),FDBUH0(1),FDBUI0( *1),FDCOU0(1),FDBCO0(1),FDFLA0(1),FDVCS0(1),FDVCT0(1),FDOPS0(1),FDO *PT0(1),FDOPU0(1) INTEGER C,PROMPT(102) INTEGER BUF,P INTEGER COMME0,LEN,JUNK INTEGER LSGETF,SVGET,LSPOS,HISTS0 LOGICAL CONTI0 LOGICAL ISATTY INTEGER STDPR0(3) SHORTCALL MKONU$(18) EXTERNAL LSQUIT INTEGER AAAAQ0 INTEGER AAAAR0(4) INTEGER AAAAS0(8) INTEGER AAAAT0(4) EQUIVALENCE (FDMEM0,FDESC0),(FDDEV0,FDESC0(1)),(FDUNI0,FDESC0(2)), *(FDBUG0,FDESC0(3)),(FDBUH0,FDESC0(4)),(FDBUI0,FDESC0(5)),(FDCOU0,F *DESC0(6)),(FDBCO0,FDESC0(7)),(FDFLA0,FDESC0(8)),(FDVCS0,FDESC0(9)) *,(FDVCT0,FDESC0(10)),(FDOPS0,FDESC0(11)),(FDOPT0,FDESC0(12)),(FDOP *U0,FDESC0(13)) DATA STDPR0/221,160,0/ DATA AAAAR0/5,-11819,-13868,-23392/ DATA AAAAS0/223,240,242,239,237,240,244,0/ DATA AAAAT0/5,-11819,-13868,-23392/ CALL BREAK$(1) IF((.NOT.ISATTY(CIFDA0(CIFIL0))))GOTO 10066 CALL MKONU$(AAAAR0,LOC(LSQUIT)) 10066 COMMB0=CIBUF0(CIFIL0) CIBUF0(CIFIL0)=0 IF((SVGET(AAAAS0,PROMPT,102).NE.-1))GOTO 10067 CALL SCOPY(STDPR0,1,PROMPT,1) 10067 GETCL=-2 10068 IF((COMMB0.NE.0))GOTO 10069 IF((CMDST0.NE.0))GOTO 10069 IF((.NOT.ISATTY(CIFDA0(CIFIL0))))GOTO 10070 CALL GOSSIP CALL MAILC0 CALL PUTLIN(PROMPT,1) 10070 CONTI0=.TRUE. 10071 IF((.NOT.CONTI0))GOTO 10072 IF((CMDST0.NE.0))GOTO 10072 LEN=LSGETF(BUF,CIFDA0(CIFIL0)) IF((LEN.NE.-1))GOTO 10073 GOTO 10072 10073 CALL LSDEL(BUF,LEN,1) IF((COMMB0.NE.0))GOTO 10074 COMMB0=BUF GOTO 10075 10074 CALL LSJOIN(COMMB0,BUF) 10075 IF((AND(CITRA0,:100000).EQ.0))GOTO 10076 CALL NETTR0(BUF,CIFIL0) 10076 IF((LEN.LE.1))GOTO 10077 IF((LSPOS(BUF,LEN-1).NE.223))GOTO 10077 CALL LSDEL(BUF,1,10000) GOTO 10071 10077 CONTI0=.FALSE. 10078 GOTO 10071 10072 IF((COMMB0.NE.0))GOTO 10079 GETCL=-1 GOTO 10069 10079 CALL SEARC0(COMMB0,0,JUNK,163,COMME0) IF((COMME0.LE.0))GOTO 10080 CALL LSDEL(COMMB0,COMME0,10000) 10080 P=COMMB0 AAAAQ0=1 GOTO 10065 10081 AAAAQ0=2 GOTO 10065 10085 CONTINUE 10083 IF((C.EQ.160))GOTO 10081 IF((C.EQ.137))GOTO 10081 GOTO 10082 10082 IF((C.NE.0))GOTO 10087 CALL LSFREE(COMMB0,10000) 10087 IF((.NOT.ISATTY(CIFDA0(CIFIL0))))GOTO 10068 IF((HISTS0(COMMB0).NE.-3))GOTO 10089 CALL LSFREE(COMMB0,10000) 10089 CONTINUE 10088 GOTO 10068 10069 CALL RVONU$(AAAAT0) CALL BREAK$(0) RETURN 10065 CONTINUE 10090 IF((LSREF0(P).LT.300))GOTO 10091 P=LSREF0(P)-300 GOTO 10090 10091 C=LSREF0(P) IF((C.EQ.0))GOTO 10093 P=P+(1) 10092 GOTO 10093 10093 GOTO(10083,10085),AAAAQ0 GOTO 10093 END SUBROUTINE PUTBA0(PTR) INTEGER PTR INTEGER CIFIL0,CIFDA0(10),CIERR0,CITRA0,CICNO0(10) INTEGER CIBUF0(10),CIQUO0,CISEA0,CIQUP0,CIERS0,CIPRO0,CIHEL0,CIDEF *0 INTEGER CIREC0 INTEGER * 4 CIMDA0,CIMSI0,CICHE0 COMMON /CICOM/CIQUO0,CISEA0,CIQUP0,CIPRO0,CIHEL0,CIERS0,CIDEF0,CIF *IL0,CITRA0,CIREC0,CIERR0,CIFDA0,CICNO0,CIBUF0,CIMDA0,CIMSI0,CICHE0 INTEGER JUNK INTEGER AAAAU0(2) DATA AAAAU0/187,0/ IF((CIBUF0(CIFIL0).NE.0))GOTO 10094 CIBUF0(CIFIL0)=PTR GOTO 10095 10094 CIBUF0(CIFIL0)=LSJOIN(PTR,LSJOIN(LSMAKE(JUNK,AAAAU0),CIBUF0(CIFI *L0))) 10095 PTR=0 RETURN END INTEGER FUNCTION EVALN0(COMMB0,STATUS) INTEGER COMMB0 INTEGER STATUS COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESES0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESET0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESEU0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEV0(680),NEWSC0(85,51),RESEW0(785),CURSC0(85,51),RESEX0 *(785),TCCLE0(10),TCCLF0(10),TCCLG0(10),TCCUR0(10),TCCUS0(10),TCCUT *0(10),TCCUU0(10),TCCUV0(10),TCABS0(10),TCVER0(10),TCHOR0(10),TCINS *0(10),TCDEL0(10),TCSHI0(10),TCSHJ0(10),TCCOO0,TCSHK0,TCCOP0,TCSEQ0 *,TCSPE0,TCCLH0,TCLIN0,TCPOS0,TCWRA0,TCCLR0,TCCEO0,TCCEP0,TCABT0,TC *VES0,TCHOS0,TCHOM0,TCLEF0,TCUPL0,UNPRI0,COLCH0(51),COLCI0(51),ROWC *H0,ROWCI0,LASTC0(51),MAXRO0,MAXCO0,CURRO0,CURCO0,MSGRO0,MSGOW0(85) *,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0(128,20),LASTF0,TABSA0(85),INPU *T0(51),INPUU0(51),INBUF0(85),LASTD0,INSER0,INVER0,DUPLE0,INPUV0,PB *BUF0(400),PBPTR0,FNUSE0(20),DEFBU0(1000),LASTE0,NESTI0,RESEY0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESES0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESET0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESEU0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEV0,NEWSC0,RESEW0,CURSC0,RESEX0,TCCLE0,TCC *LF0,TCCLG0,TCCUR0,TCCUS0,TCCUT0,TCCUU0,TCCUV0,TCABS0,TCVER0,TCHOR0 *,TCINS0,TCDEL0,TCCLH0,TCLIN0,TCPOS0,TCSHI0,TCSHJ0,TCCOO0,TCSHK0,TC *COP0,TCSEQ0,TCDEM0,TCWRA0,TCCLR0,TCSPE0,TCCEO0,TCCEP0,TCABT0,TCVES *0,TCHOS0,UNPRI0,COLCH0,COLCI0,ROWCH0,ROWCI0,LASTC0,MAXRO0,MAXCO0,C *URRO0,CURCO0,MSGRO0,MSGOW0,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0,LAST *F0,TABSA0,INPUT0,INPUU0,INBUF0,LASTD0,INSER0,INVER0,DUPLE0,INPUV0, *PBBUF0,PBPTR0,FNUSE0,DEFBU0,LASTE0,NESTI0,TCHOM0,TCLEF0,TCUPL0,RES *EY0 INTEGER FDESC0(16),FDDEV0(1),FDUNI0(1),FDBUG0(1),FDBUH0(1),FDBUI0( *1),FDCOU0(1),FDBCO0(1),FDFLA0(1),FDVCS0(1),FDVCT0(1),FDOPS0(1),FDO *PT0(1),FDOPU0(1) INTEGER POS,BRACE0,BRACK0 INTEGER C,QUOTE INTEGER REST,PTR INTEGER AAAAV0 INTEGER AAAAW0 INTEGER AAAAX0 EQUIVALENCE (FDMEM0,FDESC0),(FDDEV0,FDESC0(1)),(FDUNI0,FDESC0(2)), *(FDBUG0,FDESC0(3)),(FDBUH0,FDESC0(4)),(FDBUI0,FDESC0(5)),(FDCOU0,F *DESC0(6)),(FDBCO0,FDESC0(7)),(FDFLA0,FDESC0(8)),(FDVCS0,FDESC0(9)) *,(FDVCT0,FDESC0(10)),(FDOPS0,FDESC0(11)),(FDOPT0,FDESC0(12)),(FDOP *U0,FDESC0(13)) BRACK0=0 BRACE0=0 PTR=COMMB0 POS=0 10097 AAAAV0=1 GOTO 10096 10098 CONTINUE 10099 IF((C.EQ.162))GOTO 10101 IF((C.EQ.167))GOTO 10101 GOTO 10100 10101 QUOTE=C 10102 AAAAV0=2 GOTO 10096 10103 CONTINUE IF((C.EQ.QUOTE))GOTO 10104 IF((C.EQ.0))GOTO 10104 GOTO 10102 10104 CONTINUE IF((C.EQ.0))GOTO 10099 AAAAV0=3 GOTO 10096 10106 CONTINUE 10105 GOTO 10099 10100 AAAAW0=C GOTO 10107 10108 BRACK0=BRACK0+(1) GOTO 10109 10110 BRACK0=BRACK0-(1) GOTO 10109 10111 BRACE0=BRACE0+(1) GOTO 10109 10112 BRACE0=BRACE0-(1) GOTO 10109 10115 IF((BRACE0.NE.0))GOTO 10109 IF((BRACK0.NE.0))GOTO 10109 GOTO 10114 10107 IF(AAAAW0.EQ.0)GOTO 10114 IF(AAAAW0.EQ.187)GOTO 10115 AAAAX0=AAAAW0-218 GOTO(10108,10117,10110),AAAAX0 AAAAX0=AAAAW0-250 GOTO(10111,10117,10112),AAAAX0 10117 CONTINUE 10109 CONTINUE GOTO 10097 10114 IF((C.NE.187))GOTO 10118 CALL LSCUT(COMMB0,POS-1,REST) CALL LSDEL(REST,1,1) CALL PUTBA0(REST) 10118 STATUS=-2 EVALN0=STATUS RETURN 10096 CONTINUE 10119 IF((LSREF0(PTR).LT.300))GOTO 10120 PTR=LSREF0(PTR)-300 GOTO 10119 10120 C=LSREF0(PTR) IF((C.EQ.0))GOTO 10121 PTR=PTR+(1) 10121 POS=POS+(1) GOTO 10122 10122 GOTO(10098,10103,10106),AAAAV0 GOTO 10122 END INTEGER FUNCTION EVALFN(COMMB0,STATUS) INTEGER COMMB0 INTEGER STATUS INTEGER CIFIL0,CIFDA0(10),CIERR0,CITRA0,CICNO0(10) INTEGER CIBUF0(10),CIQUO0,CISEA0,CIQUP0,CIERS0,CIPRO0,CIHEL0,CIDEF *0 INTEGER CIREC0 INTEGER * 4 CIMDA0,CIMSI0,CICHE0 COMMON /CICOM/CIQUO0,CISEA0,CIQUP0,CIPRO0,CIHEL0,CIERS0,CIDEF0,CIF *IL0,CITRA0,CIREC0,CIERR0,CIFDA0,CICNO0,CIBUF0,CIMDA0,CIMSI0,CICHE0 INTEGER NEXTI0(10),NEXTO0(10),IPDAA0(5,3,10),OPDAA0(5,3,10),DEFAU0 *(6) COMMON /PORTCM/NEXTI0,NEXTO0,IPDAA0,OPDAA0,DEFAU0 COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESES0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESET0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESEU0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEV0(680),NEWSC0(85,51),RESEW0(785),CURSC0(85,51),RESEX0 *(785),TCCLE0(10),TCCLF0(10),TCCLG0(10),TCCUR0(10),TCCUS0(10),TCCUT *0(10),TCCUU0(10),TCCUV0(10),TCABS0(10),TCVER0(10),TCHOR0(10),TCINS *0(10),TCDEL0(10),TCSHI0(10),TCSHJ0(10),TCCOO0,TCSHK0,TCCOP0,TCSEQ0 *,TCSPE0,TCCLH0,TCLIN0,TCPOS0,TCWRA0,TCCLR0,TCCEO0,TCCEP0,TCABT0,TC *VES0,TCHOS0,TCHOM0,TCLEF0,TCUPL0,UNPRI0,COLCH0(51),COLCI0(51),ROWC *H0,ROWCI0,LASTC0(51),MAXRO0,MAXCO0,CURRO0,CURCO0,MSGRO0,MSGOW0(85) *,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0(128,20),LASTF0,TABSA0(85),INPU *T0(51),INPUU0(51),INBUF0(85),LASTD0,INSER0,INVER0,DUPLE0,INPUV0,PB *BUF0(400),PBPTR0,FNUSE0(20),DEFBU0(1000),LASTE0,NESTI0,RESEY0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESES0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESET0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESEU0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEV0,NEWSC0,RESEW0,CURSC0,RESEX0,TCCLE0,TCC *LF0,TCCLG0,TCCUR0,TCCUS0,TCCUT0,TCCUU0,TCCUV0,TCABS0,TCVER0,TCHOR0 *,TCINS0,TCDEL0,TCCLH0,TCLIN0,TCPOS0,TCSHI0,TCSHJ0,TCCOO0,TCSHK0,TC *COP0,TCSEQ0,TCDEM0,TCWRA0,TCCLR0,TCSPE0,TCCEO0,TCCEP0,TCABT0,TCVES *0,TCHOS0,UNPRI0,COLCH0,COLCI0,ROWCH0,ROWCI0,LASTC0,MAXRO0,MAXCO0,C *URRO0,CURCO0,MSGRO0,MSGOW0,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0,LAST *F0,TABSA0,INPUT0,INPUU0,INBUF0,LASTD0,INSER0,INVER0,DUPLE0,INPUV0, *PBBUF0,PBPTR0,FNUSE0,DEFBU0,LASTE0,NESTI0,TCHOM0,TCLEF0,TCUPL0,RES *EY0 INTEGER FDESC0(16),FDDEV0(1),FDUNI0(1),FDBUG0(1),FDBUH0(1),FDBUI0( *1),FDCOU0(1),FDBCO0(1),FDFLA0(1),FDVCS0(1),FDVCT0(1),FDOPS0(1),FDO *PT0(1),FDOPU0(1) INTEGER FNSTA0,FNEND,FNSIZE,POS,QUOTF0 INTEGER LSGETF,SHELL,SVGET,EQUAL INTEGER IFD,OFD INTEGER MKTEMP INTEGER PTR,FNCALL,ARGPTR,P INTEGER C,QUOTG0(5) INTEGER AAAAY0 INTEGER AAAAZ0(11) INTEGER AAABA0(4) INTEGER AAABB0(2) INTEGER AAABC0(2) INTEGER AAABD0(2) INTEGER AAABE0(3) EQUIVALENCE (FDMEM0,FDESC0),(FDDEV0,FDESC0(1)),(FDUNI0,FDESC0(2)), *(FDBUG0,FDESC0(3)),(FDBUH0,FDESC0(4)),(FDBUI0,FDESC0(5)),(FDCOU0,F *DESC0(6)),(FDBCO0,FDESC0(7)),(FDFLA0,FDESC0(8)),(FDVCS0,FDESC0(9)) *,(FDVCT0,FDESC0(10)),(FDOPS0,FDESC0(11)),(FDOPT0,FDESC0(12)),(FDOP *U0,FDESC0(13)) DATA AAAAZ0/223,241,245,239,244,229,223,239,240,244,0/ DATA AAABA0/217,197,211,0/ DATA AAABB0/162,0/ DATA AAABC0/160,0/ DATA AAABD0/162,0/ DATA AAABE0/230,238,0/ STATUS=-3 IFD=-3 OFD=-3 10124 CALL SEARC0(COMMB0,219,FNSTA0,221,FNEND) GOTO 10125 10126 CALL ERRMSG(COMMB0,FNEND,'unpaired right bracket.') GOTO 10130 10128 CALL ERRMSG(COMMB0,FNSTA0,'unpaired left bracket.') GOTO 10130 10129 STATUS=-2 GOTO 10130 10125 IF((FNSTA0.NE.0))GOTO 10131 IF((FNEND.EQ.0))GOTO 10131 GOTO 10126 10131 IF((FNSTA0.EQ.0))GOTO 10132 IF((FNEND.NE.0))GOTO 10132 GOTO 10128 10132 IF((FNSTA0.NE.0))GOTO 10133 IF((FNEND.NE.0))GOTO 10133 GOTO 10129 10133 CONTINUE IF((OFD.NE.-3))GOTO 10134 OFD=MKTEMP(3) IF((OFD.NE.-3))GOTO 10136 CALL ERRMSG(COMMB0,FNEND,'can''t create temp for function ou *tput.') GOTO 10130 10134 CALL REWIND(OFD) CALL TRUNC(OFD) 10136 IF((IFD.NE.-3))GOTO 10137 IFD=MKTEMP(3) IF((IFD.NE.-3))GOTO 10139 CALL ERRMSG(COMMB0,FNEND,'can''t create function temp.') GOTO 10130 10137 CALL REWIND(IFD) CALL TRUNC(IFD) 10139 FNSIZE=FNEND-FNSTA0+1 FNCALL=LSSUBS(COMMB0,FNSTA0+1,FNSIZE-2) CALL LSDEL(COMMB0,FNSTA0,FNSIZE) CALL LSPUTF(FNCALL,IFD) CALL PUTCH(138,IFD) CALL REWIND(IFD) CALL LSFREE(FNCALL,10000) STDPO0(2)=OFD IF((SHELL(IFD).NE.-3))GOTO 10140 CALL ERRMSG(0,0,0) GOTO 10130 10140 CALL REWIND(OFD) IF((SVGET(AAAAZ0,QUOTG0,5).EQ.-1))GOTO 10141 IF((EQUAL(QUOTG0,AAABA0).EQ.0))GOTO 10141 QUOTF0=1 GOTO 10142 10141 QUOTF0=0 10142 CALL LSALLO(ARGPTR,0) CALL BREAK$(1) 10143 IF((LSGETF(PTR,OFD).EQ.-1))GOTO 10144 POS=0 P=PTR AAAAY0=1 GOTO 10123 10145 AAAAY0=2 GOTO 10123 10149 CONTINUE 10147 IF((C.EQ.0))GOTO 10146 IF((C.NE.162))GOTO 10150 IF((QUOTF0.EQ.0))GOTO 10150 CALL LSINS(PTR,POS,CIQUO0,1,4) POS=POS+(4) GOTO 10145 10150 IF((C.NE.138))GOTO 10152 CALL LSDEL(PTR,POS,1) POS=POS-(1) 10152 CONTINUE 10151 GOTO 10145 10146 IF((QUOTF0.EQ.0))GOTO 10153 PTR=LSJOIN(LSMAKE(P,AAABB0),PTR) 10153 PTR=LSJOIN(LSMAKE(P,AAABC0),PTR) CALL LSJOIN(ARGPTR,PTR) IF((QUOTF0.NE.1))GOTO 10143 CALL LSJOIN(ARGPTR,LSMAKE(P,AAABD0)) 10154 GOTO 10143 10144 CALL BREAK$(0) CALL LSDEL(ARGPTR,1,1) CALL LSINS(COMMB0,FNSTA0-1,ARGPTR,1,10000) CALL LSFREE(ARGPTR,10000) GOTO 10124 10130 IF((IFD.EQ.-3))GOTO 10155 CALL RMTEMP(IFD) 10155 IF((OFD.EQ.-3))GOTO 10156 CALL RMTEMP(OFD) 10156 IF((STATUS.NE.-2))GOTO 10157 IF((AND(CITRA0,:20000).EQ.0))GOTO 10157 CALL NETTR0(COMMB0,CIFIL0,AAABE0) 10157 EVALFN=STATUS RETURN 10123 CONTINUE 10158 IF((LSREF0(P).LT.300))GOTO 10159 P=LSREF0(P)-300 GOTO 10158 10159 C=LSREF0(P) IF((C.EQ.0))GOTO 10160 P=P+(1) 10160 POS=POS+(1) GOTO 10161 10161 GOTO(10147,10149),AAAAY0 GOTO 10161 END INTEGER FUNCTION EVALIT(COMMB0,STATUS) INTEGER COMMB0 INTEGER STATUS INTEGER CIFIL0,CIFDA0(10),CIERR0,CITRA0,CICNO0(10) INTEGER CIBUF0(10),CIQUO0,CISEA0,CIQUP0,CIERS0,CIPRO0,CIHEL0,CIDEF *0 INTEGER CIREC0 INTEGER * 4 CIMDA0,CIMSI0,CICHE0 COMMON /CICOM/CIQUO0,CISEA0,CIQUP0,CIPRO0,CIHEL0,CIERS0,CIDEF0,CIF *IL0,CITRA0,CIREC0,CIERR0,CIFDA0,CICNO0,CIBUF0,CIMDA0,CIMSI0,CICHE0 COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESES0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESET0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESEU0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEV0(680),NEWSC0(85,51),RESEW0(785),CURSC0(85,51),RESEX0 *(785),TCCLE0(10),TCCLF0(10),TCCLG0(10),TCCUR0(10),TCCUS0(10),TCCUT *0(10),TCCUU0(10),TCCUV0(10),TCABS0(10),TCVER0(10),TCHOR0(10),TCINS *0(10),TCDEL0(10),TCSHI0(10),TCSHJ0(10),TCCOO0,TCSHK0,TCCOP0,TCSEQ0 *,TCSPE0,TCCLH0,TCLIN0,TCPOS0,TCWRA0,TCCLR0,TCCEO0,TCCEP0,TCABT0,TC *VES0,TCHOS0,TCHOM0,TCLEF0,TCUPL0,UNPRI0,COLCH0(51),COLCI0(51),ROWC *H0,ROWCI0,LASTC0(51),MAXRO0,MAXCO0,CURRO0,CURCO0,MSGRO0,MSGOW0(85) *,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0(128,20),LASTF0,TABSA0(85),INPU *T0(51),INPUU0(51),INBUF0(85),LASTD0,INSER0,INVER0,DUPLE0,INPUV0,PB *BUF0(400),PBPTR0,FNUSE0(20),DEFBU0(1000),LASTE0,NESTI0,RESEY0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESES0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESET0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESEU0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEV0,NEWSC0,RESEW0,CURSC0,RESEX0,TCCLE0,TCC *LF0,TCCLG0,TCCUR0,TCCUS0,TCCUT0,TCCUU0,TCCUV0,TCABS0,TCVER0,TCHOR0 *,TCINS0,TCDEL0,TCCLH0,TCLIN0,TCPOS0,TCSHI0,TCSHJ0,TCCOO0,TCSHK0,TC *COP0,TCSEQ0,TCDEM0,TCWRA0,TCCLR0,TCSPE0,TCCEO0,TCCEP0,TCABT0,TCVES *0,TCHOS0,UNPRI0,COLCH0,COLCI0,ROWCH0,ROWCI0,LASTC0,MAXRO0,MAXCO0,C *URRO0,CURCO0,MSGRO0,MSGOW0,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0,LAST *F0,TABSA0,INPUT0,INPUU0,INBUF0,LASTD0,INSER0,INVER0,DUPLE0,INPUV0, *PBBUF0,PBPTR0,FNUSE0,DEFBU0,LASTE0,NESTI0,TCHOM0,TCLEF0,TCUPL0,RES *EY0 INTEGER FDESC0(16),FDDEV0(1),FDUNI0(1),FDBUG0(1),FDBUH0(1),FDBUI0( *1),FDCOU0(1),FDBCO0(1),FDFLA0(1),FDVCS0(1),FDVCT0(1),FDOPS0(1),FDO *PT0(1),FDOPU0(1) INTEGER ITSTA0(10),ITBLA0(10) INTEGER ITSTB0,ITEND,ITLEN0,ITGRO0,J,JUNK INTEGER ITPTR(10),PTR,P,M INTEGER C INTEGER AAABF0 INTEGER AAABG0(2) INTEGER AAABH0(2) INTEGER AAABI0(3) EQUIVALENCE (FDMEM0,FDESC0),(FDDEV0,FDESC0(1)),(FDUNI0,FDESC0(2)), *(FDBUG0,FDESC0(3)),(FDBUH0,FDESC0(4)),(FDBUI0,FDESC0(5)),(FDCOU0,F *DESC0(6)),(FDBCO0,FDESC0(7)),(FDFLA0,FDESC0(8)),(FDVCS0,FDESC0(9)) *,(FDVCT0,FDESC0(10)),(FDOPS0,FDESC0(11)),(FDOPT0,FDESC0(12)),(FDOP *U0,FDESC0(13)) DATA AAABG0/160,0/ DATA AAABH0/187,0/ DATA AAABI0/233,244,0/ ITGRO0=0 STATUS=-3 10163 CALL SEARC0(COMMB0,168,ITSTB0,169,ITEND) GOTO 10164 10165 CALL ERRMSG(COMMB0,ITEND,'unpaired right paren.') GOTO 10169 10167 CALL ERRMSG(COMMB0,ITSTB0,'unpaired left paren.') GOTO 10169 10168 STATUS=-2 GOTO 10169 10164 IF((ITSTB0.NE.0))GOTO 10170 IF((ITEND.EQ.0))GOTO 10170 GOTO 10165 10170 IF((ITSTB0.EQ.0))GOTO 10171 IF((ITEND.NE.0))GOTO 10171 GOTO 10167 10171 IF((ITSTB0.NE.0))GOTO 10172 IF((ITEND.NE.0))GOTO 10172 GOTO 10168 10172 CONTINUE IF((ITGRO0.LT.10))GOTO 10173 CALL ERRMSG(COMMB0,ITSTB0,'too many iteration groups.') GOTO 10169 10173 ITGRO0=ITGRO0+(1) ITLEN0=ITEND-ITSTB0+1 ITSTA0(ITGRO0)=ITSTB0-1 ITPTR(ITGRO0)=LSSUBS(COMMB0,ITSTB0+1,ITLEN0-2) CALL LSJOIN(ITPTR(ITGRO0),LSMAKE(P,AAABG0)) CALL LSDEL(COMMB0,ITSTB0,ITLEN0) GOTO 10163 10169 IF((ITGRO0.LE.0))GOTO 10174 IF((STATUS.EQ.-3))GOTO 10175 J=2 GOTO 10178 10176 J=J+(1) 10178 IF((J.GT.ITGRO0))GOTO 10177 IF((ITSTA0(J).GE.ITSTA0(J-1)))GOTO 10176 CALL ERRMSG(ITPTR(J-1),1,'nested iteration not supported.' *) STATUS=-3 GOTO 10177 10177 CONTINUE 10175 IF((STATUS.EQ.-3))GOTO 10180 STATUS=-3 CALL LSALLO(PTR,0) 10181 DO 10182 J=1,ITGRO0 P=ITPTR(J) AAABF0=1 GOTO 10162 10184 CONTINUE 10185 IF((C.NE.160))GOTO 10186 CALL LSDEL(ITPTR(J),1,1) P=ITPTR(J) AAABF0=2 GOTO 10162 10186 CALL SEARC0(ITPTR(J),138,JUNK,160,ITBLA0(J)) 10182 CONTINUE 10183 IF((ITBLA0(1).NE.0))GOTO 10188 J=2 GOTO 10191 10189 J=J+(1) 10191 IF((J.GT.ITGRO0))GOTO 10190 IF((ITBLA0(J).EQ.0))GOTO 10189 CALL ERRMSG(ITPTR(J),1,'unbalanced iteration groups.') GOTO 10193 10190 STATUS=-2 GOTO 10193 10188 J=2 GOTO 10196 10194 J=J+(1) 10196 IF((J.GT.ITGRO0))GOTO 10195 IF((ITBLA0(J).NE.0))GOTO 10194 CALL ERRMSG(ITPTR(1),1,'unbalanced iteration groups.') GOTO 10193 10195 M=0 CALL LSCOPY(COMMB0,1,M,1) J=ITGRO0 GOTO 10200 10198 J=J-(1) 10200 IF((J.LT.1))GOTO 10199 CALL LSCUT(ITPTR(J),ITBLA0(J)-1,P) CALL LSINS(M,ITSTA0(J),ITPTR(J),1,10000) CALL LSFREE(ITPTR(J),10000) ITPTR(J)=P GOTO 10198 10199 CALL LSJOIN(PTR,LSMAKE(P,AAABH0)) CALL LSJOIN(PTR,M) GOTO 10181 10193 CONTINUE 10180 DO 10201 J=1,ITGRO0 CALL LSFREE(ITPTR(J),10000) 10201 CONTINUE 10202 IF((STATUS.EQ.-3))GOTO 10203 CALL LSDEL(PTR,1,1) CALL LSFREE(COMMB0,10000) COMMB0=PTR GOTO 10204 10203 CALL LSFREE(PTR,10000) 10204 CONTINUE 10174 IF((STATUS.EQ.-3))GOTO 10205 IF((AND(CITRA0,:10000).EQ.0))GOTO 10205 CALL NETTR0(COMMB0,CIFIL0,AAABI0) 10205 EVALIT=STATUS RETURN 10162 CONTINUE 10206 IF((LSREF0(P).LT.300))GOTO 10207 P=LSREF0(P)-300 GOTO 10206 10207 C=LSREF0(P) IF((C.EQ.0))GOTO 10209 P=P+(1) 10208 GOTO 10209 10209 GOTO(10184,10185),AAABF0 GOTO 10209 END SUBROUTINE INITI0 INTEGER CIFIL0,CIFDA0(10),CIERR0,CITRA0,CICNO0(10) INTEGER CIBUF0(10),CIQUO0,CISEA0,CIQUP0,CIERS0,CIPRO0,CIHEL0,CIDEF *0 INTEGER CIREC0 INTEGER * 4 CIMDA0,CIMSI0,CICHE0 COMMON /CICOM/CIQUO0,CISEA0,CIQUP0,CIPRO0,CIHEL0,CIERS0,CIDEF0,CIF *IL0,CITRA0,CIREC0,CIERR0,CIFDA0,CICNO0,CIBUF0,CIMDA0,CIMSI0,CICHE0 INTEGER NEXTA0,ARGTA0(2,64) COMMON /ARGCOM/NEXTA0,ARGTA0 INTEGER NEXTI0(10),NEXTO0(10),IPDAA0(5,3,10),OPDAA0(5,3,10),DEFAU0 *(6) COMMON /PORTCM/NEXTI0,NEXTO0,IPDAA0,OPDAA0,DEFAU0 INTEGER HPTRA0(128) INTEGER HBUFA0(4096) INTEGER HBFAA0,HBLAA0,HPFAA0,HPLAA0,HLINE0,HONAA0 COMMON /HISTCM/HBFAA0,HBLAA0,HPFAA0,HPLAA0,HLINE0,HPTRA0,HBUFA0,HO *NAA0 INTEGER I INTEGER AAABJ0(5) DATA AAABJ0/167,162,167,162,0/ HONAA0=0 CIFIL0=0 NEXTA0=1 DO 10210 I=1,10 NEXTI0(I)=1 NEXTO0(I)=1 10210 CONTINUE 10211 DO 10212 I=1,6 DEFAU0(I)=1 10212 CONTINUE 10213 CALL LSINIT CALL LSMAKE(CIQUO0,AAABJ0) CALL SVINIT CALL HISTI0 CALL MAILI0 RETURN END SUBROUTINE SAVES0 INTEGER NEXTA0,ARGTA0(2,64) COMMON /ARGCOM/NEXTA0,ARGTA0 INTEGER CIFIL0,CIFDA0(10),CIERR0,CITRA0,CICNO0(10) INTEGER CIBUF0(10),CIQUO0,CISEA0,CIQUP0,CIERS0,CIPRO0,CIHEL0,CIDEF *0 INTEGER CIREC0 INTEGER * 4 CIMDA0,CIMSI0,CICHE0 COMMON /CICOM/CIQUO0,CISEA0,CIQUP0,CIPRO0,CIHEL0,CIERS0,CIDEF0,CIF *IL0,CITRA0,CIREC0,CIERR0,CIFDA0,CICNO0,CIBUF0,CIMDA0,CIMSI0,CICHE0 INTEGER CURNO0,CMDCU0,SYMTY0,SYMIP0,SYMOP0,SYMNO0,SYMLE0 INTEGER SYMTE0(102),SYMST0(102) INTEGER CMDAA0,CMDPT0 COMMON /PARCOM/CURNO0,CMDAA0,CMDPT0,CMDCU0,SYMTY0,SYMIP0,SYMOP0,SY *MNO0,SYMLE0,SYMTE0,SYMST0 INTEGER NEXTI0(10),NEXTO0(10),IPDAA0(5,3,10),OPDAA0(5,3,10),DEFAU0 *(6) COMMON /PORTCM/NEXTI0,NEXTO0,IPDAA0,OPDAA0,DEFAU0 INTEGER SAVEN0(10,10),SAVEO0(10,10),SAVEI0(150,10),SAVEP0(150,10) INTEGER SAVEQ0(6,10) INTEGER SAVEA0(128,10) INTEGER SAVER0(10) INTEGER SAVEC0(10) COMMON /SAVCOM/SAVEN0,SAVEO0,SAVEI0,SAVEP0,SAVEQ0,SAVEA0,SAVER0,SA *VEC0 COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESES0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESET0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESEU0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEV0(680),NEWSC0(85,51),RESEW0(785),CURSC0(85,51),RESEX0 *(785),TCCLE0(10),TCCLF0(10),TCCLG0(10),TCCUR0(10),TCCUS0(10),TCCUT *0(10),TCCUU0(10),TCCUV0(10),TCABS0(10),TCVER0(10),TCHOR0(10),TCINS *0(10),TCDEL0(10),TCSHI0(10),TCSHJ0(10),TCCOO0,TCSHK0,TCCOP0,TCSEQ0 *,TCSPE0,TCCLH0,TCLIN0,TCPOS0,TCWRA0,TCCLR0,TCCEO0,TCCEP0,TCABT0,TC *VES0,TCHOS0,TCHOM0,TCLEF0,TCUPL0,UNPRI0,COLCH0(51),COLCI0(51),ROWC *H0,ROWCI0,LASTC0(51),MAXRO0,MAXCO0,CURRO0,CURCO0,MSGRO0,MSGOW0(85) *,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0(128,20),LASTF0,TABSA0(85),INPU *T0(51),INPUU0(51),INBUF0(85),LASTD0,INSER0,INVER0,DUPLE0,INPUV0,PB *BUF0(400),PBPTR0,FNUSE0(20),DEFBU0(1000),LASTE0,NESTI0,RESEY0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESES0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESET0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESEU0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEV0,NEWSC0,RESEW0,CURSC0,RESEX0,TCCLE0,TCC *LF0,TCCLG0,TCCUR0,TCCUS0,TCCUT0,TCCUU0,TCCUV0,TCABS0,TCVER0,TCHOR0 *,TCINS0,TCDEL0,TCCLH0,TCLIN0,TCPOS0,TCSHI0,TCSHJ0,TCCOO0,TCSHK0,TC *COP0,TCSEQ0,TCDEM0,TCWRA0,TCCLR0,TCSPE0,TCCEO0,TCCEP0,TCABT0,TCVES *0,TCHOS0,UNPRI0,COLCH0,COLCI0,ROWCH0,ROWCI0,LASTC0,MAXRO0,MAXCO0,C *URRO0,CURCO0,MSGRO0,MSGOW0,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0,LAST *F0,TABSA0,INPUT0,INPUU0,INBUF0,LASTD0,INSER0,INVER0,DUPLE0,INPUV0, *PBBUF0,PBPTR0,FNUSE0,DEFBU0,LASTE0,NESTI0,TCHOM0,TCLEF0,TCUPL0,RES *EY0 INTEGER FDESC0(16),FDDEV0(1),FDUNI0(1),FDBUG0(1),FDBUH0(1),FDBUI0( *1),FDCOU0(1),FDBCO0(1),FDFLA0(1),FDVCS0(1),FDVCT0(1),FDOPS0(1),FDO *PT0(1),FDOPU0(1) EQUIVALENCE (FDMEM0,FDESC0),(FDDEV0,FDESC0(1)),(FDUNI0,FDESC0(2)), *(FDBUG0,FDESC0(3)),(FDBUH0,FDESC0(4)),(FDBUI0,FDESC0(5)),(FDCOU0,F *DESC0(6)),(FDBCO0,FDESC0(7)),(FDFLA0,FDESC0(8)),(FDVCS0,FDESC0(9)) *,(FDVCT0,FDESC0(10)),(FDOPS0,FDESC0(11)),(FDOPT0,FDESC0(12)),(FDOP *U0,FDESC0(13)) CALL MOVE$(ARGTA0,SAVEA0(1,CIFIL0),128) SAVER0(CIFIL0)=NEXTA0 NEXTA0=1 CALL MOVE$(NEXTI0,SAVEN0(1,CIFIL0),10) CALL MOVE$(NEXTO0,SAVEO0(1,CIFIL0),10) CALL MOVE$(IPDAA0,SAVEI0(1,CIFIL0),150) CALL MOVE$(OPDAA0,SAVEP0(1,CIFIL0),150) CALL MOVE$(DEFAU0,SAVEQ0(1,CIFIL0),6) CALL MOVE$(STDPO0,DEFAU0,6) SAVEC0(CIFIL0)=CURNO0 RETURN END SUBROUTINE RESTO0 INTEGER NEXTA0,ARGTA0(2,64) COMMON /ARGCOM/NEXTA0,ARGTA0 INTEGER CIFIL0,CIFDA0(10),CIERR0,CITRA0,CICNO0(10) INTEGER CIBUF0(10),CIQUO0,CISEA0,CIQUP0,CIERS0,CIPRO0,CIHEL0,CIDEF *0 INTEGER CIREC0 INTEGER * 4 CIMDA0,CIMSI0,CICHE0 COMMON /CICOM/CIQUO0,CISEA0,CIQUP0,CIPRO0,CIHEL0,CIERS0,CIDEF0,CIF *IL0,CITRA0,CIREC0,CIERR0,CIFDA0,CICNO0,CIBUF0,CIMDA0,CIMSI0,CICHE0 INTEGER NEXTI0(10),NEXTO0(10),IPDAA0(5,3,10),OPDAA0(5,3,10),DEFAU0 *(6) COMMON /PORTCM/NEXTI0,NEXTO0,IPDAA0,OPDAA0,DEFAU0 INTEGER CURNO0,CMDCU0,SYMTY0,SYMIP0,SYMOP0,SYMNO0,SYMLE0 INTEGER SYMTE0(102),SYMST0(102) INTEGER CMDAA0,CMDPT0 COMMON /PARCOM/CURNO0,CMDAA0,CMDPT0,CMDCU0,SYMTY0,SYMIP0,SYMOP0,SY *MNO0,SYMLE0,SYMTE0,SYMST0 INTEGER SAVEN0(10,10),SAVEO0(10,10),SAVEI0(150,10),SAVEP0(150,10) INTEGER SAVEQ0(6,10) INTEGER SAVEA0(128,10) INTEGER SAVER0(10) INTEGER SAVEC0(10) COMMON /SAVCOM/SAVEN0,SAVEO0,SAVEI0,SAVEP0,SAVEQ0,SAVEA0,SAVER0,SA *VEC0 COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESES0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESET0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESEU0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEV0(680),NEWSC0(85,51),RESEW0(785),CURSC0(85,51),RESEX0 *(785),TCCLE0(10),TCCLF0(10),TCCLG0(10),TCCUR0(10),TCCUS0(10),TCCUT *0(10),TCCUU0(10),TCCUV0(10),TCABS0(10),TCVER0(10),TCHOR0(10),TCINS *0(10),TCDEL0(10),TCSHI0(10),TCSHJ0(10),TCCOO0,TCSHK0,TCCOP0,TCSEQ0 *,TCSPE0,TCCLH0,TCLIN0,TCPOS0,TCWRA0,TCCLR0,TCCEO0,TCCEP0,TCABT0,TC *VES0,TCHOS0,TCHOM0,TCLEF0,TCUPL0,UNPRI0,COLCH0(51),COLCI0(51),ROWC *H0,ROWCI0,LASTC0(51),MAXRO0,MAXCO0,CURRO0,CURCO0,MSGRO0,MSGOW0(85) *,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0(128,20),LASTF0,TABSA0(85),INPU *T0(51),INPUU0(51),INBUF0(85),LASTD0,INSER0,INVER0,DUPLE0,INPUV0,PB *BUF0(400),PBPTR0,FNUSE0(20),DEFBU0(1000),LASTE0,NESTI0,RESEY0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESES0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESET0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESEU0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEV0,NEWSC0,RESEW0,CURSC0,RESEX0,TCCLE0,TCC *LF0,TCCLG0,TCCUR0,TCCUS0,TCCUT0,TCCUU0,TCCUV0,TCABS0,TCVER0,TCHOR0 *,TCINS0,TCDEL0,TCCLH0,TCLIN0,TCPOS0,TCSHI0,TCSHJ0,TCCOO0,TCSHK0,TC *COP0,TCSEQ0,TCDEM0,TCWRA0,TCCLR0,TCSPE0,TCCEO0,TCCEP0,TCABT0,TCVES *0,TCHOS0,UNPRI0,COLCH0,COLCI0,ROWCH0,ROWCI0,LASTC0,MAXRO0,MAXCO0,C *URRO0,CURCO0,MSGRO0,MSGOW0,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0,LAST *F0,TABSA0,INPUT0,INPUU0,INBUF0,LASTD0,INSER0,INVER0,DUPLE0,INPUV0, *PBBUF0,PBPTR0,FNUSE0,DEFBU0,LASTE0,NESTI0,TCHOM0,TCLEF0,TCUPL0,RES *EY0 INTEGER FDESC0(16),FDDEV0(1),FDUNI0(1),FDBUG0(1),FDBUH0(1),FDBUI0( *1),FDCOU0(1),FDBCO0(1),FDFLA0(1),FDVCS0(1),FDVCT0(1),FDOPS0(1),FDO *PT0(1),FDOPU0(1) EQUIVALENCE (FDMEM0,FDESC0),(FDDEV0,FDESC0(1)),(FDUNI0,FDESC0(2)), *(FDBUG0,FDESC0(3)),(FDBUH0,FDESC0(4)),(FDBUI0,FDESC0(5)),(FDCOU0,F *DESC0(6)),(FDBCO0,FDESC0(7)),(FDFLA0,FDESC0(8)),(FDVCS0,FDESC0(9)) *,(FDVCT0,FDESC0(10)),(FDOPS0,FDESC0(11)),(FDOPT0,FDESC0(12)),(FDOP *U0,FDESC0(13)) NEXTA0=SAVER0(CIFIL0) CALL MOVE$(SAVEA0(1,CIFIL0),ARGTA0,128) CALL MOVE$(SAVEN0(1,CIFIL0),NEXTI0,10) CALL MOVE$(SAVEO0(1,CIFIL0),NEXTO0,10) CALL MOVE$(SAVEI0(1,CIFIL0),IPDAA0,150) CALL MOVE$(SAVEP0(1,CIFIL0),OPDAA0,150) CALL MOVE$(DEFAU0,STDPO0,6) CALL MOVE$(SAVEQ0(1,CIFIL0),DEFAU0,6) CURNO0=SAVEC0(CIFIL0) RETURN END SUBROUTINE ERRMSG(CMD,CP,MSG) INTEGER CMD INTEGER CP,MSG INTEGER CIFIL0,CIFDA0(10),CIERR0,CITRA0,CICNO0(10) INTEGER CIBUF0(10),CIQUO0,CISEA0,CIQUP0,CIERS0,CIPRO0,CIHEL0,CIDEF *0 INTEGER CIREC0 INTEGER * 4 CIMDA0,CIMSI0,CICHE0 COMMON /CICOM/CIQUO0,CISEA0,CIQUP0,CIPRO0,CIHEL0,CIERS0,CIDEF0,CIF *IL0,CITRA0,CIREC0,CIERR0,CIFDA0,CICNO0,CIBUF0,CIMDA0,CIMSI0,CICHE0 INTEGER AAABK0(5) DATA AAABK0/197,160,170,240,0/ CALL CONTE0(CMD,CP) IF((MSG.EQ.0))GOTO 10214 CALL PRINT(1,'*p*n.',MSG) CALL LOGIN0(AAABK0,MSG) 10214 CALL WIND(CIFDA0(CIFIL0)) CALL LSFREE(CIBUF0(CIFIL0),10000) CIBUF0(CIFIL0)=0 RETURN END SUBROUTINE CONTE0(CMD,CP) INTEGER CMD INTEGER CP INTEGER CIFIL0,CIFDA0(10),CIERR0,CITRA0,CICNO0(10) INTEGER CIBUF0(10),CIQUO0,CISEA0,CIQUP0,CIERS0,CIPRO0,CIHEL0,CIDEF *0 INTEGER CIREC0 INTEGER * 4 CIMDA0,CIMSI0,CICHE0 COMMON /CICOM/CIQUO0,CISEA0,CIQUP0,CIPRO0,CIHEL0,CIERS0,CIDEF0,CIF *IL0,CITRA0,CIREC0,CIERR0,CIFDA0,CICNO0,CIBUF0,CIMDA0,CIMSI0,CICHE0 INTEGER LOGSTR(60) INTEGER AAABL0(5) DATA AAABL0/195,160,170,243,0/ IF((CMD.NE.0))GOTO 10215 RETURN 10215 CALL LSPUTF(CMD,1) CALL PUTCH(138,1) CALL PRINT(1,'*#c*n.',-CP,222) IF((CIREC0.EQ.-3))GOTO 10216 CALL LSEXTR(CMD,LOGSTR,60) CALL LOGIN0(AAABL0,LOGSTR) 10216 RETURN END SUBROUTINE GOSSIP COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESES0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESET0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESEU0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEV0(680),NEWSC0(85,51),RESEW0(785),CURSC0(85,51),RESEX0 *(785),TCCLE0(10),TCCLF0(10),TCCLG0(10),TCCUR0(10),TCCUS0(10),TCCUT *0(10),TCCUU0(10),TCCUV0(10),TCABS0(10),TCVER0(10),TCHOR0(10),TCINS *0(10),TCDEL0(10),TCSHI0(10),TCSHJ0(10),TCCOO0,TCSHK0,TCCOP0,TCSEQ0 *,TCSPE0,TCCLH0,TCLIN0,TCPOS0,TCWRA0,TCCLR0,TCCEO0,TCCEP0,TCABT0,TC *VES0,TCHOS0,TCHOM0,TCLEF0,TCUPL0,UNPRI0,COLCH0(51),COLCI0(51),ROWC *H0,ROWCI0,LASTC0(51),MAXRO0,MAXCO0,CURRO0,CURCO0,MSGRO0,MSGOW0(85) *,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0(128,20),LASTF0,TABSA0(85),INPU *T0(51),INPUU0(51),INBUF0(85),LASTD0,INSER0,INVER0,DUPLE0,INPUV0,PB *BUF0(400),PBPTR0,FNUSE0(20),DEFBU0(1000),LASTE0,NESTI0,RESEY0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESES0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESET0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESEU0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEV0,NEWSC0,RESEW0,CURSC0,RESEX0,TCCLE0,TCC *LF0,TCCLG0,TCCUR0,TCCUS0,TCCUT0,TCCUU0,TCCUV0,TCABS0,TCVER0,TCHOR0 *,TCINS0,TCDEL0,TCCLH0,TCLIN0,TCPOS0,TCSHI0,TCSHJ0,TCCOO0,TCSHK0,TC *COP0,TCSEQ0,TCDEM0,TCWRA0,TCCLR0,TCSPE0,TCCEO0,TCCEP0,TCABT0,TCVES *0,TCHOS0,UNPRI0,COLCH0,COLCI0,ROWCH0,ROWCI0,LASTC0,MAXRO0,MAXCO0,C *URRO0,CURCO0,MSGRO0,MSGOW0,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0,LAST *F0,TABSA0,INPUT0,INPUU0,INBUF0,LASTD0,INSER0,INVER0,DUPLE0,INPUV0, *PBBUF0,PBPTR0,FNUSE0,DEFBU0,LASTE0,NESTI0,TCHOM0,TCLEF0,TCUPL0,RES *EY0 INTEGER FDESC0(16),FDDEV0(1),FDUNI0(1),FDBUG0(1),FDBUH0(1),FDBUI0( *1),FDCOU0(1),FDBCO0(1),FDFLA0(1),FDVCS0(1),FDVCT0(1),FDOPS0(1),FDO *PT0(1),FDOPU0(1) INTEGER SVGET INTEGER OPEN,MKTEMP INTEGER FD,TFD INTEGER BUF(1) INTEGER PAUSE0,DISPM0 INTEGER G1(16) INTEGER G2(16) INTEGER AAABM0(14) INTEGER AAABN0(12) INTEGER AAABO0(15) INTEGER AAABP0(15) EQUIVALENCE (FDMEM0,FDESC0),(FDDEV0,FDESC0(1)),(FDUNI0,FDESC0(2)), *(FDBUG0,FDESC0(3)),(FDBUH0,FDESC0(4)),(FDBUI0,FDESC0(5)),(FDCOU0,F *DESC0(6)),(FDBCO0,FDESC0(7)),(FDFLA0,FDESC0(8)),(FDVCS0,FDESC0(9)) *,(FDVCT0,FDESC0(10)),(FDOPS0,FDESC0(11)),(FDOPT0,FDESC0(12)),(FDOP *U0,FDESC0(13)) DATA G1/189,231,239,243,243,233,240,189,175,189,245,243,229,242,18 *9,0/ DATA G2/189,231,239,243,243,233,240,189,175,170,189,240,233,228,18 *9,0/ DATA AAABM0/223,240,225,245,243,229,223,231,239,243,243,233,240,0/ DATA AAABN0/223,246,244,232,223,231,239,243,243,233,240,0/ DATA AAABO0/231,239,243,243,233,240,160,219,170,233,171,221,191,16 *0,0/ DATA AAABP0/231,239,243,243,233,240,160,219,170,233,164,221,191,16 *0,0/ PAUSE0=1 IF((SVGET(AAABM0,BUF,1).EQ.-1))GOTO 10217 PAUSE0=0 10217 IF((SVGET(AAABN0,BUF,1).EQ.-1))GOTO 10218 PAUSE0=PAUSE0+(2) 10218 DISPM0=0 TFD=MKTEMP(3) IF((TFD.NE.-3))GOTO 10219 RETURN 10219 IF((ISPHA0.NE.0))GOTO 10220 FD=OPEN(G1,1) IF((FD.EQ.-3))GOTO 10221 DISPM0=1 CALL FCOPY(FD,TFD) CALL CLOSE(FD) CALL REMOVE(G1) 10221 CONTINUE 10220 FD=OPEN(G2,1) IF((FD.EQ.-3))GOTO 10222 DISPM0=1 CALL FCOPY(FD,TFD) CALL CLOSE(FD) CALL REMOVE(G2) 10222 IF((DISPM0.NE.0))GOTO 10223 CALL RMTEMP(TFD) RETURN 10223 CALL REWIND(TFD) IF((ISPHA0.NE.0))GOTO 10224 CALL PAGE(TFD,AAABO0,AAABP0,23,1,PAUSE0) GOTO 10225 10224 CALL FCOPY(TFD,1) 10225 CALL RMTEMP(TFD) RETURN END INTEGER FUNCTION EVALCN(COMMB0,STATUS) INTEGER COMMB0 INTEGER STATUS INTEGER CIFIL0,CIFDA0(10),CIERR0,CITRA0,CICNO0(10) INTEGER CIBUF0(10),CIQUO0,CISEA0,CIQUP0,CIERS0,CIPRO0,CIHEL0,CIDEF *0 INTEGER CIREC0 INTEGER * 4 CIMDA0,CIMSI0,CICHE0 COMMON /CICOM/CIQUO0,CISEA0,CIQUP0,CIPRO0,CIHEL0,CIERS0,CIDEF0,CIF *IL0,CITRA0,CIREC0,CIERR0,CIFDA0,CICNO0,CIBUF0,CIMDA0,CIMSI0,CICHE0 INTEGER CNSTA0,CNEND,FD INTEGER CREATE INTEGER NODET0,PNAME INTEGER LSSUBS INTEGER NAME(20) INTEGER AAABQ0(17) INTEGER AAABR0(7) INTEGER AAABS0(3) DATA AAABQ0/189,244,229,237,240,189,175,227,238,189,240,233,228,18 *9,170,233,0/ DATA AAABR0/222,227,238,175,170,233,0/ DATA AAABS0/227,238,0/ STATUS=-3 10226 CALL SEARC0(COMMB0,251,CNSTA0,253,CNEND) GOTO 10227 10228 CALL ERRMSG(COMMB0,CNEND,'unpaired right brace.') GOTO 10232 10230 CALL ERRMSG(COMMB0,CNSTA0,'unpaired left brace.') GOTO 10232 10231 STATUS=-2 GOTO 10232 10227 IF((CNSTA0.NE.0))GOTO 10233 IF((CNEND.EQ.0))GOTO 10233 GOTO 10228 10233 IF((CNSTA0.EQ.0))GOTO 10234 IF((CNEND.NE.0))GOTO 10234 GOTO 10230 10234 IF((CNSTA0.NE.0))GOTO 10235 IF((CNEND.NE.0))GOTO 10235 GOTO 10231 10235 CONTINUE CICNO0(CIFIL0)=CICNO0(CIFIL0)+(1) CALL ENCODE(NAME,20,AAABQ0,CICNO0(CIFIL0)) FD=CREATE(NAME,2) IF((FD.NE.-3))GOTO 10236 CALL ERRMSG(COMMB0,CNSTA0,'can''t create compound node temp.') GOTO 10232 10236 CALL ENCODE(NAME,20,AAABR0,CICNO0(CIFIL0)) NODET0=LSSUBS(COMMB0,CNSTA0+1,CNEND-CNSTA0-1) CALL LSPUTF(NODET0,FD) CALL PUTCH(138,FD) CALL CLOSE(FD) CALL LSDEL(COMMB0,CNSTA0,CNEND-CNSTA0+1) CALL LSMAKE(PNAME,NAME) CALL LSINS(COMMB0,CNSTA0-1,PNAME,1,10000) CALL LSFREE(PNAME,10000) CALL LSFREE(NODET0,10000) GOTO 10226 10232 IF((STATUS.NE.-2))GOTO 10237 IF((AND(CITRA0,:40000).EQ.0))GOTO 10237 CALL NETTR0(COMMB0,CIFIL0,AAABS0) 10237 EVALCN=STATUS RETURN END SUBROUTINE REMOV0 INTEGER CIFIL0,CIFDA0(10),CIERR0,CITRA0,CICNO0(10) INTEGER CIBUF0(10),CIQUO0,CISEA0,CIQUP0,CIERS0,CIPRO0,CIHEL0,CIDEF *0 INTEGER CIREC0 INTEGER * 4 CIMDA0,CIMSI0,CICHE0 COMMON /CICOM/CIQUO0,CISEA0,CIQUP0,CIPRO0,CIHEL0,CIERS0,CIDEF0,CIF *IL0,CITRA0,CIREC0,CIERR0,CIFDA0,CICNO0,CIBUF0,CIMDA0,CIMSI0,CICHE0 INTEGER BOTTOM INTEGER NAME(20) INTEGER AAABT0(17) DATA AAABT0/189,244,229,237,240,189,175,227,238,189,240,233,228,18 *9,170,233,0/ IF((CIFIL0.GT.1))GOTO 10238 BOTTOM=0 GOTO 10239 10238 BOTTOM=CICNO0(CIFIL0-1) 10239 CONTINUE 10240 IF((CICNO0(CIFIL0).LE.BOTTOM))GOTO 10241 CALL ENCODE(NAME,20,AAABT0,CICNO0(CIFIL0)) CALL REMOVE(NAME) CICNO0(CIFIL0)=CICNO0(CIFIL0)-(1) GOTO 10240 10241 RETURN END SUBROUTINE MAILI0 INTEGER CIFIL0,CIFDA0(10),CIERR0,CITRA0,CICNO0(10) INTEGER CIBUF0(10),CIQUO0,CISEA0,CIQUP0,CIERS0,CIPRO0,CIHEL0,CIDEF *0 INTEGER CIREC0 INTEGER * 4 CIMDA0,CIMSI0,CICHE0 COMMON /CICOM/CIQUO0,CISEA0,CIQUP0,CIPRO0,CIHEL0,CIERS0,CIDEF0,CIF *IL0,CITRA0,CIREC0,CIERR0,CIFDA0,CICNO0,CIBUF0,CIMDA0,CIMSI0,CICHE0 INTEGER AT INTEGER FD,PFD INTEGER ENTRY(32) INTEGER OPEN INTEGER * 4 SZFIL$ INTEGER FINFO$,MAPFD INTEGER M1(14) DATA M1/189,237,225,233,236,189,175,189,245,243,229,242,189,0/ CALL GETTIM(CICHE0) CIMDA0=CICHE0 CIMSI0=0 IF((FINFO$(M1,ENTRY,AT).EQ.-2))GOTO 10242 CALL FOLLOW(0,0) RETURN 10242 CALL FOLLOW(0,0) CALL CV$DQS(ENTRY(21),CIMDA0) FD=OPEN(M1,1) IF((FD.NE.-3))GOTO 10243 RETURN 10243 PFD=MAPFD(FD) IF((PFD.NE.-3))GOTO 10244 CALL CLOSE(FD) RETURN 10244 CIMSI0=SZFIL$(PFD) IF((CIMSI0.NE.-3))GOTO 10245 CIMSI0=0 10245 CALL CLOSE(FD) RETURN END SUBROUTINE MAILC0 INTEGER CIFIL0,CIFDA0(10),CIERR0,CITRA0,CICNO0(10) INTEGER CIBUF0(10),CIQUO0,CISEA0,CIQUP0,CIERS0,CIPRO0,CIHEL0,CIDEF *0 INTEGER CIREC0 INTEGER * 4 CIMDA0,CIMSI0,CICHE0 COMMON /CICOM/CIQUO0,CISEA0,CIQUP0,CIPRO0,CIHEL0,CIERS0,CIDEF0,CIF *IL0,CITRA0,CIREC0,CIERR0,CIFDA0,CICNO0,CIBUF0,CIMDA0,CIMSI0,CICHE0 INTEGER AT,I INTEGER FD,PFD INTEGER * 4 CURR,DELTA INTEGER CHK(102) INTEGER ENTRY(32) INTEGER OPEN INTEGER * 4 SZFIL$,CTOL INTEGER FINFO$,MAPFD,SVGET INTEGER M1(14) INTEGER AAABU0(12) INTEGER AAABV0(20) DATA M1/189,237,225,233,236,189,175,189,245,243,229,242,189,0/ DATA AAABU0/223,237,225,233,236,223,227,232,229,227,235,0/ DATA AAABV0/217,239,245,160,232,225,246,229,160,238,229,247,160,23 *7,225,233,236,170,238,0/ IF((SVGET(AAABU0,CHK,102).NE.-1))GOTO 10246 RETURN 10246 I=1 DELTA=CTOL(CHK,I)/4 IF((DELTA.NE.0))GOTO 10247 DELTA=15 10247 CALL GETTIM(CURR) IF((CURR.GE.CICHE0+DELTA))GOTO 10248 RETURN 10248 CICHE0=CURR IF((FINFO$(M1,ENTRY,AT).EQ.-2))GOTO 10249 CIMDA0=CICHE0-DELTA-1 CALL FOLLOW(0,0) CIMSI0=0 RETURN 10249 CALL FOLLOW(0,0) CALL CV$DQS(ENTRY(21),CURR) IF((CURR.GT.CIMDA0))GOTO 10250 RETURN 10250 CIMDA0=CURR FD=OPEN(M1,1) IF((FD.NE.-3))GOTO 10251 RETURN 10251 PFD=MAPFD(FD) IF((PFD.NE.-3))GOTO 10252 CALL CLOSE(FD) RETURN 10252 CURR=SZFIL$(PFD) IF((CURR.GT.CIMSI0))GOTO 10253 CIMSI0=CURR CALL CLOSE(FD) RETURN 10253 CIMSI0=CURR CALL CLOSE(FD) CALL PRINT(1,AAABV0) RETURN END C ---- Long Name Map ---- C forgetcmd forge0 C installationcmd insta0 C Cimdate cimda0 C Fdflags fdfla0 C setupports setuq0 C singlestep singl0 C timecmd timec0 C Eofchar eofch0 C Inputstart input0 C reserveport reser0 C searchfor searc0 C Escchar escch0 C Invertcase inver0 C loginnamecmd logio0 C Tccoordchar tccoo0 C Tabs tabsa0 C Fdbufstart fdbug0 C histsave histt0 C Symiport symip0 C whencmd whenc0 C Citrace citra0 C Rtchar rtcha0 C Prtdest prtde0 C Tcdelline tcdel0 C Colchgstop colci0 C Rowchgstart rowch0 C Maxcol maxco0 C executenode execv0 C putbackcommand putba0 C results resul0 C Echar echar0 C Tseos tseos0 C Tclinedelay tclin0 C Fnused fnuse0 C getneta getne0 C initports initp0 C lookuplabel looku0 C Termcount termd0 C Reservedio reses0 C Tsstate tssta0 C Tccursorright tccut0 C Tcabspos tcabs0 C Tcposdelay tcpos0 C Tchorlen tchos0 C dropcmd dropc0 C Cierrorflag cierr0 C Reservedopen reset0 C Lsna lsnaa0 C Tcseqtype tcseq0 C Unprintablechar unpri0 C Fdesc fdesc0 C stdprompt stdpr0 C Symstr symst0 C nodetext nodet0 C checklabels check0 C dumpcmd dumpc0 C dumpports dumpp0 C histinit histi0 C selectport selec0 C Cputype cputy0 C Prtform prtfo0 C Tsbf tsbfa0 C Curcol curco0 C Lastfn lastf0 C Insertmode inser0 C commentpos comme0 C quoteoption quotf0 C argstocmd argst0 C histlook histl0 C makeportlist makep0 C Cihello cihel0 C Fdbuf fdbuf0 C Argv argva0 C Lstop lstop0 C Tcceollen tccep0 C Symoport symop0 C cleanupports clean0 C getnexttoken getng0 C histcmd histc0 C initconnect initc0 C nextunquotedchar nextu0 C nextwhiletoken nextw0 C Tcshiftchar tcshk0 C Inputwait inpuv0 C Fdunit fduni0 C Cmdptr cmdpt0 C createlabel creat0 C gotocmd gotoc0 C Cibuf cibuf0 C Termcp termc0 C Kchar kchar0 C Fdmem fdmem0 C Fddev fddev0 C Fdvcstat1 fdvcs0 C Hbf hbfaa0 C clrargs clrar0 C enterlabel enter0 C exitcmd exitd0 C loginfo login0 C shtracecmd shtra0 C Lastdef laste0 C Tcdelaytime tcdem0 C Fdvcstat2 fdvct0 C Cidefaultsr cidef0 C Killresp killr0 C Tccleardelay tcclh0 C Padrow padro0 C Fntab fntab0 C varscmd varsc0 C Reservednewscr resew0 C Reservedcurscr resex0 C continued conti0 C quotevalue quotg0 C restorestate resto0 C vpsdcmd vpsdc0 C Utempbuf utemq0 C Rtlabel rtlab0 C Lsho lshoa0 C Tcvertpos tcver0 C Tcwraparound tcwra0 C Tchomelen tchom0 C Cmd cmdaa0 C Savenextiport saven0 C assigniports assig0 C histarg hista0 C Tcceoslen tcceo0 C Fdbufend fdbui0 C execute execu0 C findlabel findl0 C makeiport makei0 C symboltrace symbo0 C infofmt infof0 C Tcspeed tcspe0 C Tcleftlen tclef0 C Pbbuf pbbuf0 C Fdopstat1 fdops0 C Hbl hblaa0 C Saveargtable savea0 C Passwd passw0 C Newscr newsc0 C Curscr cursc0 C Duplex duple0 C Fdopstat2 fdopt0 C Hline hline0 C Nextiport nexti0 C indexcmd index0 C primoscmd primo0 C Tccursorhome tccur0 C Fdopstat3 fdopu0 C whilecmd while0 C Tspath tspat0 C bracecount brace0 C Argtable argta0 C display dispm0 C clrports clrpo0 C initlabels initl0 C savestate saves0 C Ciprompt cipro0 C Tsat tsata0 C Tccursorleft tccus0 C Colchgstart colch0 C Savenextoport saveo0 C Saveipd savei0 C assignoports assih0 C histget histh0 C nargscmd nargs0 C Reservedshell reseu0 C Inbuf inbuf0 C Nestingcount nesti0 C Savecurnode savec0 C makeoport makeo0 C Cifile cifil0 C Cierrorcontext ciers0 C Reservedtscan resev0 C Defbuf defbu0 C Hptr hptra0 C getelement getel0 C stopcmd stopc0 C Uhashtb uhash0 C Fdbuflen fdbuh0 C Nextoport nexto0 C Ipd ipdaa0 C Symlen symle0 C casecmd casec0 C stoplogging stopl0 C commands comma0 C Cmdstat cmdst0 C Tchorpos tchor0 C Tcinsline tcins0 C Msgowner msgow0 C Hpf hpfaa0 C itgroups itgro0 C Curnode curno0 C Symtype symty0 C invokevar invom0 C Cifd cifda0 C Cicnodes cicno0 C Cisearchrule cisea0 C Fdlastfd fdlas0 C Termattr terma0 C bracketcount brack0 C Saveporttable saveq0 C datecmd datec0 C Ciquoteopt ciqup0 C Tsgt tsgta0 C Tcshiftout tcshj0 C Inputstop inpuu0 C Saveopd savep0 C accessarg acces0 C echocmd echoc0 C invokeint invol0 C substrcmd subst0 C Firstuse first0 C Tcshiftin tcshi0 C Displaytime displ0 C Fdcount fdcou0 C Symtext symte0 C declarecmd decla0 C nettrace nettr0 C Cirecord cirec0 C Cimsize cimsi0 C cnstart cnsta0 C getnetlabel getnf0 C Cicheck ciche0 C Termbuf termb0 C Lsref lsref0 C Tcabslen tcabt0 C Rowchgstop rowci0 C Maxrow maxro0 C Padcol padco0 C Lastcharscanned lastd0 C Opd opdaa0 C mailinit maili0 C Msgrow msgro0 C Padlen padle0 C Hpl hplaa0 C Savenextarg saver0 C histfind histf0 C histsub hists0 C Stdporttbl stdpo0 C Hon honaa0 C Defaultporttable defau0 C fnstart fnsta0 C itstartpos itsta0 C exitcasecmd exitc0 C histfree histg0 C histque histq0 C redirector redir0 C Argc argca0 C Termtype termt0 C Tccleartoeol tcclf0 C invokeext invok0 C takecmd takec0 C Tccursordown tccuv0 C Currow curro0 C mailchk mailc0 C Nextarg nexta0 C Cmdcursor cmdcu0 C context conte0 C histexp histe0 C setupargs setup0 C Ciquote ciquo0 C Nlchar nlcha0 C Isphantom ispha0 C Tsun tsuna0 C Tsps tspsa0 C Reservedvthmisc resey0 C clrlabels clrla0 C Tcuplen tcupl0 C Lastchar lastc0 C evalcmd evalc0 C evalnetsep evaln0 C linecmd linec0 C repeatcmd repea0 C Utemptop utemp0 C itblankpos itbla0 C elsecmd elsec0 C removecn remov0 C Bplabel bplab0 C itlength itlen0 C nodesepr nodes0 C Tspw tspwa0 C Tcclearscreen tccle0 C Tccoordtype tccop0 C Tcvertlen tcves0 C Fdbcount fdbco0 C getchar getch0 C initargs inita0 C initializeeverything initi0 C processhello proce0 C Comunit comun0 C Tccleartoeos tcclg0 C Tccursorup tccuu0 C command commb0 C Symnode symno0 C pauseval pause0 C assignports assii0 C filetype filet0 C quotecmd quote0 C Tcclrlen tcclr0 C Hbuf hbufa0 C itstart itstb0 C argscmd argsc0 C argument argum0 C declaredcmd declb0 C startlogging start0 C Errcod errco0 C Lword lword0 C Pbptr pbptr0