home *** CD-ROM | disk | FTP | other *** search
- 10 'VMAP.BAS VERSION 1.0
- 11 '
- 12 '
- 13 '
- 14 '--------------------------------------------------------------
- 20 'BATCH BUILD SEGMENT, 07/26/81, JWC
- 30 '
- 40 '
- 50 CL$=CHR$(12)'CLEAR SCREEN CODE FOR ADDS VIEWPOINT TERMINAL
- 60 FF$=CHR$(12)'FORMFEED CODE FOR CENTRONICS PRINTERS
- 70 '
- 80 '
- 90 PRINTCL$
- 100 INPUT "PROCESS LAST SETUP (Y/N) ";TI$:IFTI$="Y"THENGOTO170
- 105 PRINT
- 110 OPEN "O",#1,"A:VARDAT"
- 120 INPUT"FILE NAME, TERMINATOR, LOWER BOUND, UPPER BOUND ";PN$,TI$,LB!,UB!
- 130 PRINT#1,CHR$(34);PN$;CHR$(34);CHR$(34);TI$;CHR$(34);LB!,UB!
- 140 IFTI$="END"THENGOTO160
- 150 GOTO120
- 160 CLOSE1
- 161 '
- 162 '
- 163 '----------------------------------------------------
- 170 'MAPPING SEGMENT FOR BASIC FILES, 07/27/81, JWC
- 171 '
- 172 '
- 180 PRINTCL$:WIDTH 80:LC=0:DR%=0
- 190 OPEN"I",2,"A:VARDAT"
- 200 PRINT:PRINT:PRINT"ONE MOMENT FOR SETUP PLEASE.......":PRINT
- 210 INPUT"DO YOU WANT A PRINT OUT (Y/N) ";PO$
- 220 IF PO$="Y"THENPT$="P"ELSEPT$="N"
- 230 NX=80'MAX NUMBER OF VARIABLE CAPACITY
- 240 DIMV$(NX),NL%(NX),LL%(NX,NX-10),PA%(NX)
- 250 FORI=1TONX:PA%(I)=I:NEXTI
- 260 READNK:DIMK$(NK):DEFFNA$(A)=MID$(STR$(A),2)
- 270 FORI=1TONK:READK$(I):NEXTI
- 280 INPUT#2,PN$,I1$,LB!,UB!
- 290 PN$="A:"+PN$+".BAS"
- 300 OPEN"I",1,PN$
- 310 PRINT:PRINT"*** LINES BEING PROCESSED:":
- 320 IFEOF(1)THEN360
- 330 S=0:H=0:O=0:IN%=0:Q=0:LINEINPUT#1,L$
- 340 GOSUB740
- 350 IFN+32767!<UB!GOTO320
- 360 PRINT:PRINT:PRINT"SORTING VARIABLES....... "
- 370 GOSUB1160
- 380 IFPT$="P"THENGOTO530ELSEPRINT:PRINT:INPUT"HIT RETURN WHEN READY FOR LISTING ON CRT ";I$
- 390 PRINT:PRINT:PRINT"LIST OF VARIABLES FOR PROGRAM ";PN$:PRINT
- 400 FORI=1TONF
- 410 PRINTV$(I);TAB(15);"-";
- 420 FORJ=0TONL%(PA%(I))-1:IFJ>0THENPRINT", ";
- 430 PRINTFNA$(LL%(PA%(I),J)+32767!);
- 440 NEXTJ
- 450 PRINT:PRINT:NEXTI
- 460 GOTO630
- 470 CLOSE1
- 480 IFI1$="K"THENPRINT"KILL '";PN$;"',";DR%:KILLPN$,DR%
- 490 IFI1$="P"THEN530
- 500 IFI1$="C"THEN180
- 510 IFI1$<>"END"THENRUN
- 520 CLOSE2:PRINT:PRINT"*** END OF VARIABLE MAP PROGRAM ***":END
- 530 GOSUB1250:LPRINTTAB(50);"LINES";NL+32767!;"TO";N+32767!:LPRINT:LC=LC+2
- 540 FORI=1TONF:LPRINTSTR$(I);".";TAB(6);V$(I);TAB(15);"-";:C=0
- 550 FORJ=0TONL%(PA%(I))-1:IFCTHENLPRINT", ";:ELSEC=-1
- 560 IFJMOD13=12THENLPRINT:LC=LC+1:LPRINTTAB(15);"-";
- 570 LPRINTFNA$(LL%(PA%(I),J)+32767!);
- 580 NEXTJ
- 590 LPRINT:LPRINT:LC=LC+2
- 600 IF LC>60THENGOSUB1240:GOSUB1250:LPRINT:LC=LC+1
- 610 NEXTI
- 620 IFLC>50THENGOSUB1240:GOSUB1250:LPRINT:LC=LC+1
- 630 IFPT$="P"THENLPRINT:LPRINT"EQUIVALENT VARIABLES":LC=LC+3
- 640 V$="$(!(#(%("
- 650 FORI=0TONF-1:FORJ=I+1TONF-1
- 660 IFLEFT$(V$(I),2)<>LEFT$(V$(J),2)ORLEFT$(V$(I),2)="FN"THEN700
- 670 ONERRORGOTO1390
- 680 IF(INSTR(V$,RIGHT$(V$(I),2))<>INSTR(V$,RIGHT$(V$(J),2)))OR(INSTR(V$(RIGHT$(V$(I),1))<>INSTR(V$(RIGHT$(V$(J),1)))THEN700
- 690 IFPT$="P"THENGOSUB990:LPRINTV$(I);"=";V$(J)ELSELPRINTV$(I);"=";V$(J):LC=LC+1:EF%=-1
- 700 NEXTJ:NEXTI
- 710 IFNOTEF%THENIFPT$="P"THENLPRINT"** NONE FOUND **":LC=LC+1
- 720 IFPT$="P"THENGOSUB1240
- 730 GOTO470
- 731 '
- 732 '
- 733 '
- 734 '-------------------------------------------------------------
- 735 'VARIABLE SEARCH SUBROUTINE
- 736 '
- 737 '
- 740 R=0:V=0:X=INSTR(L$," "):N=VAL(LEFT$(L$,X))-32767!:S$=MID$(L$,X+1)
- 750 IFN+32767!>UB!THENRETURN
- 760 IFN+32767!<LB!THENRETURN ELSEPRINT:PRINTL$:PRINTTAB(5);:IFNOTXN%THENXN%=-1:NL=N
- 770 IFLEFT$(S$,1)=" "THENS$=MID$(S$,2):GOTO770
- 780 IF INSTR(S$,"DATA")=1THENRETURN
- 790 FORI=1TOLEN(S$)
- 800 X$=MID$(S$,I,1):X=ASC(X$)
- 810 IFNOTSTHEN860
- 820 IFHTHENIF(X=>48ANDX<=57)OR(X=>65ANDX<=70)THEN950ELSEH=0:S=0:GOTO860
- 830 IFOTHENIF(X=>48ANDX<=57)THEN950ELSEO=0:S=0:GOTO860
- 840 IFX=72ANDNOTHTHENH=-1:GOTO950
- 850 IFX=79ANDNOTOTHENO=-1:GOTO950ELSES=0:H=0:O=0
- 860 IFX=34THENIFQTHENQ=0:V$="":GOTO950ELSEQ=-1:GOTO950
- 870 IFQTHEN950
- 880 IFX=39THENRETURN 'REMARK
- 890 IFX=38THENS=-1:GOTO950
- 900 IF(X=>48ANDX<=57)OR(X=>65ANDX<=90)OR(X=35ORX=33ORX=36ORX=37)THENIFVTHENV$=V$+X$:GOTO950ELSEV$=X$:V=-1:GOTO950
- 910 IFX=40ANDVTHENV$=V$+X$
- 920 IFNOTVTHEN950
- 930 GOSUB960:V=0
- 940 IFRTHENRETURN
- 950 NEXTI:IFNOTVTHENRETURN
- 951 '
- 952 '
- 953 '
- 954 '------------------------------------------------------
- 955 'KEYWORD COMPARE SUBROUTINE
- 956 '
- 957 '
- 960 IFV$="REM"ORV$="DATA"THENR=-1:RETURN'SUB ---- 20000
- 970 IFVAL(V$)<>0ORLEFT$(V$,1)="0"THENV$=MID$(V$,2):GOTO970
- 980 FORJ=1TONK:Y=INSTR(V$,K$(J)):IFY=0THEN1030
- 990 IFV$=K$(J)THENRETURN'KEY WORD
- 1000 IFLEFT$(V$,LEN(K$(J)))=K$(J)THENV$=MID$(V$,LEN(K$(J))+1):GOTO960
- 1010 IFRIGHT$(V$,LEN(K$(J)))=K$(J)THENV$=MID$(V$,1,LEN(V$)-LEN(K$(J))):GOTO960
- 1020 VH$=MID$(V$,Y+LEN(K$(J))):V$=LEFT$(V$,Y-1):GOSUB960:IFRTHENRETURNELSEV$=VH$:GOTO960
- 1030 NEXTJ
- 1040 IFV$="("ORV$=""ORV$="!"ORV$="%"ORV$="#"THENRETURN
- 1050 IFIN%THENPRINT";";:ELSEIN%=-1
- 1060 IFNF=0THEN1130
- 1070 FORJ=0TONF
- 1080 IFV$<>V$(J)THEN1110
- 1090 IFLL%(J,NL%(J)-1)=NTHENRETURN
- 1100 IFNL%(J)<80THENLL%(J,NL%(J))=N:NL%(J)=NL%(J)+1:PRINTV$;",<";FNA$(NL%(J));">";:RETURN
- 1110 NEXTJ
- 1120 IFNF=NX-1THENPRINT:PRINT"OUT OF ROOM FOR VARIABLES, CONTINUE NEXT RUN...":GOTO360
- 1130 PRINTV$;",[";FNA$(NF+1);"]";
- 1140 V$(NF)=V$:LL%(NF,NL%(NF))=N:NL%(NF)=NL%(NF)+1:NF=NF+1
- 1150 RETURN
- 1151 '
- 1152 '
- 1153 '
- 1154 '-----------------------------------------------------------
- 1155 'SORT SUBROUTINE
- 1156 '
- 1157 '
- 1160 DIMH(9):H(1)=1:H(2)=4:H(3)=13:T=1
- 1170 IFH(T+2)<5000THENT=T+1:H(T+2)=3*H(T+1)+1:GOTO1170
- 1180 IFNF=0THENRETURNELSEFORT=1TO6:IFH(T+2)<NFTHENNEXT
- 1190 FORS=TTO1STEP-1:H=H(S):FORJJ=HTONF
- 1200 V$=V$(JJ):PA%=PA%(JJ):FORII=JJ-HTO0STEP-H
- 1210 IFV$<V$(II)THENV$(II+H)=V$(II):PA%(II+H)=PA%(II):NEXT
- 1220 V$(II+H)=V$:PA%(II+H)=PA%:NEXTJJ,S
- 1230 RETURN
- 1240 FORIK=LCTO65:LPRINT:NEXTIK:LC=0:RETURN
- 1250 LPRINTFF$:LPRINT:LPRINT:LPRINT"LIST OF VARIABLES FOR PROGRAM ";PN$;:LC=LC+3:RETURN
- 1260 DATA116
- 1270 DATA CONSOLE,RESTORE,SPACE$(,UNLOAD
- 1280 DATA LPRINT,DEFDBL,DEFINT,DEFSNG,DEFSTR,DELETE,RESUME,RETURN,RIGHT$
- 1290 DATA PRINT,LLIST,INPUT,CLEAR,CLOAD,CLOSE,CSAVE,DSKI$,DSKO$,ERASE
- 1300 DATA ERROR,FIELD,FILES,GOSUB,INSTR,LEFT$,MERGE,MOUNT,TROFF,USING
- 1310 DATA TRON,CDBL,CHR$,CINT,CONT,CSNG,DSKF,EDIT,ELSE,GOTO,KILL,LINE
- 1320 DATA LIST,LOAD,LPOS,LSET,MID$,MKD$,MKI$,MKS$,NAME,NEXT,NULL,OPEN
- 1330 DATA PEEK,POKE,READ,RSET,SAVE,SPC,(,STEP,STOP,STR$,SWAP,TAB(,THEN,WAIT
- 1340 DATA ABS,AND,ASC,ATN,COS,CVD,CVI,CVS,DEF,DIM,END,EOF,ERL,ERR,EXP,FOR
- 1350 DATA FRE,GET,INP,INT,LEN,LET,LOC,LOF,LOG,MOD,NEW,NOT,OUT,POS,PUT,RND
- 1360 DATA RUN,SGN,SIN,SQR,TAN,USR,BAL
- 1370 DATA AS,IF,TO,ON,OR
- 1380 DATA WIDTH,TAB
- 1390 IFERR=13THENPRINT:PRINT:PRINT"**** NO VARIABLES FOUND *****":PRINT:GOTO470
- 1400 PRINT"ERROR CODE IS ";ERR;" ON LINE NUMBER ";ERL;:PRINT:END
- NT:PRINT:PRINT"**** NO VARIABLES FOUND *****":PRINT:GOTO470
- 1400 PRINT"ERROR CODE