SUB BRESEQ <<*opts>>!---> ON ERROR GOTO <> DIM LNUM(2000),LBLS(2000) IREC,LRECL,IFLGP=0 <<*lpr>>INPUT LINE #1,REC$ \ REC$=TRM$(REC$) LENREC=LEN(REC$) LRECL=LRECL+1 IF IFLGP=1 GOTO <> I=1 \ IC=ASCII(MID(REC$,1,1)) UNTIL (IC<>32) AND (IC<>9) I=I+1 \ IC=ASCII(MID(REC$,I,1)) NEXT IF (IC>57 OR IC<48) GOTO <> IREC=IREC+10 LFT=I UNTIL (IC>57) OR (IC<48) I=I+1 \ IC=ASCII(MID(REC$,I,1)) NEXT IBP2=VAL(SEG$(REC$,LFT,(I-1))) <<*count>>LNUM(LRECL)=IBP2 \ LBLS(LRECL)=IREC IF '&'=MID(REC$,LENREC,1) THEN IFLGP=1 ELSE IFLGP=0 GOTO <> <<*rerr>>!-------------------------------------------------> IF ERR<>11 GOTO <> RESUME <> <<*pass 2>>RESTORE #1 IREC,IFLGP=0 FOR JREC=1 TO LRECL INPUT LINE #1,REC$ \ REC$=TRM$(REC$) LENREC=LEN(REC$) OUT$="" I=1 IF IFLGP=1 GOTO <> IREC=IREC+10 IC=ASCII(MID(REC$,1,1)) UNTIL ((IC<>32) AND (IC<>9) AND (IC>57 OR IC<48)) I=I+1 IC=ASCII(MID(REC$,I,1)) NEXT <<*rec>> IF '&'=MID(REC$,LENREC,1) THEN IFLGC=1 ELSE IFLGC=0 WHILE I<= LENREC C$=MID(REC$,I,1) IF (C$<>"'") AND C$<>'"' GOTO <> QUOTE$=C$ \ OUT$=OUT$+C$ I=I+1 IF I>LENREC THEN PRINT "Unmatched quotes!" & \ PRINT REC$ \ GOTO <> C$=MID(REC$,I,1) UNTIL C$=QUOTE$ OUT$=OUT$+C$ \ I=I+1 IF I>LENREC THEN PRINT "Unmatched quotes!" & \ PRINT REC$ \ GOTO <> C$=MID(REC$,I,1) NEXT <<*g?>> IF C$<>'G' THEN <> ELSE GOSUB <> IF C$<>'O' THEN <> ELSE GOSUB <> IF C$<>'T' THEN <> ELSE GOSUB <> IF C$<>'O' THEN <> <<*case>> GOSUB <> IF IRGT=0 THEN GOTO <> GOSUB <> IF C$=' ' OR 9=ASCII(C$) THEN GOSUB <> IF C$=',' THEN GOTO <> GOTO <> <<*s?>> IF C$<>'S' THEN <> ELSE GOSUB <> IF C$<>'U' THEN <> ELSE GOSUB <> IF C$<>'B' THEN <> ELSE GOSUB <> IF IRGT=0 THEN GOTO <> GOSUB <> GOTO <> <<*t?>> IF C$<>'T' THEN <> ELSE GOSUB <> IF C$<>'H' THEN <> ELSE GOSUB <> IF C$<>'E' THEN <> ELSE GOSUB <> IF C$<>'N' THEN <> ELSE GOSUB <> IF IRGT<>0 THEN GOSUB <> GOTO <> <<*e?>> IF C$<>'E' THEN <> ELSE GOSUB <> IF C$<>'L' THEN <> ELSE GOSUB <> IF C$<>'S' THEN <> ELSE GOSUB <> IF C$<>'E' THEN <> ELSE GOSUB <> IF IRGT<>0 THEN GOSUB <> GOTO <> <<*r?>> IF C$<>'R' THEN <> ELSE GOSUB <> IF C$<>'E' THEN <> ELSE GOSUB <> IF C$<>'S' THEN <> ELSE GOSUB <> IF C$<>'U' THEN <> ELSE GOSUB <> IF C$<>'M' THEN <> ELSE GOSUB <> IF C$<>'E' THEN <> ELSE GOSUB <> IF IRGT<>0 THEN GOSUB <> GOTO <> <<*lbl err!>>! PRINT 'A syntax error exists! Where is the label?' PRINT REC$ <<*nxtc>>! OUT$=OUT$+C$ \ I=I+1 <<*nxtj>>NEXT !--------------------------------------------------> <<*output>>IF IFLGP=1 THEN PRINT #2," ";OUT$ & ELSE PRINT #2,LEFT(STR$(IREC),6);OUT$ IFLGP=IFLGC NEXT JREC GOTO <> ! !---> Resequencing subroutines. !-----------------------------------> <<*inc>>! OUT$=OUT$ +C$ I=I+1 IF I<= LENREC THEN C$=MID(REC$,I,1) & ELSE GOTO <<*output>> RETURN !-----------------------------> <<*skips>>GOSUB <> IC=ASCII(C$) IF (IC=9 OR IC=32) GOTO <> RETURN !-----------------------------> <<*num?>>LFT,IRGT=0 GOSUB <> IF IC<48 OR IC >57 THEN RETURN LFT=I <<*lpnum>>WHILE (IC>47) AND (IC<58) AND (I<=LENREC) I=I+1 C$=MID(REC$,I,1) IC=ASCII(C$) NEXT IF I=LENREC THEN IRGT=LENREC ELSE IRGT=I-1 IBP2=VAL(SEG$(REC$,LFT,IRGT)) RETURN <<*newref>>! FOR IK=1 TO LRECL IF IBP2=LNUM(IK) GOTO <> NEXT IK PRINT "REF ERROR, ";REC$ <<*hit>> OUT$=OUT$+EDIT$(STR$(LBLS(IK)),2) RETURN RETURN ! !---__-----------------------> <<*cont err>>PRINT "Line number expected! " PRINT REC$ GOTO <> ! <<*err exit!>>PRINT ERT$(ERR) <<*stop>>! SUBEND