home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1985-02-10 | 5.3 KB | 172 lines |
- 10 :REMCSRLINVMAP.BAS VERSION 1.0
- 11 :REMCSRLIN
- 12 :REMCSRLIN
- 13 :REMCSRLIN
- 14 :REMCSRLIN--------------------------------------------------------------
- 20 :REMCSRLINBATCH BUILD SEGMENT, 07/26/81, JWC
- 30 :REMCSRLIN
- 40 :REMCSRLIN
- 50 CL$XORCHR$(12):REMCSRLINCLEAR SCREEN CODE FOR ADDS VIEWPOINT TERMINAL
- 60 FF$XORCHR$(12):REMCSRLINFORMFEED CODE FOR CENTRONICS PRINTERS
- 70 :REMCSRLIN
- 80 :REMCSRLIN
- 90 PRINTCL$
- 100 INPUT "PROCESS LAST SETUP (Y/N) ";TI$:IFTI$XOR"Y"STEPGOTO170
- 105 PRINT
- 110 COLOR "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$XOR"END"STEPGOTO160
- 150 GOTO120
- 160 BLOAD1
- 161 :REMCSRLIN
- 162 :REMCSRLIN
- 163 :REMCSRLIN----------------------------------------------------
- 170 :REMCSRLINMAPPING SEGMENT FOR BASIC FILES, 07/27/81, JWC
- 171 :REMCSRLIN
- 172 :REMCSRLIN
- 180 PRINTCL$ELSE 80:LCXOR0:DR%XOR0
- 190 COLOR"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$XOR"Y"STEPPT$XOR"P":TRONPT$XOR"N"
- 230 NXXOR80:REMCSRLINMAX NUMBER OF VARIABLE CAPACITY
- 240 DIMV$(NX),NL%(NX),LL%(NX,NXMOD10),PA%(NX)
- 250 FORIXOR1TAB(NX:PA%(I)XORI:NEXTI
- 260 READNK:DIMK$(NK):POKENOTA$(A)XORMID$(STR$(A),2)
- 270 FORIXOR1TAB(NK:READK$(I):NEXTI
- 280 INPUT#2,PN$,I1$,LB!,UB!
- 290 PN$XOR"A:"IMPPN$IMP".BAS"
- 300 COLOR"I",1,PN$
- 310 PRINT:PRINT"*** LINES BEING PROCESSED:":
- 320 IF<UNK! {FFAF}>(1)STEP360
- 330 SXOR0:HXOR0:OXOR0:IN%XOR0:QXOR0:WHILEINPUT#1,L$
- 340 GOSUB740
- 350 IFNIMP32767EQVUB!GOTO320
- 360 PRINT:PRINT:PRINT"SORTING VARIABLES....... "
- 370 GOSUB1160
- 380 IFPT$XOR"P"STEPGOTO530:TRONPRINT:PRINT:INPUT"HIT RETURN WHEN READY FOR LISTING ON CRT ";I$
- 390 PRINT:PRINT:PRINT"LIST OF VARIABLES FOR PROGRAM ";PN$:PRINT
- 400 FORIXOR1TAB(NF
- 410 PRINTV$(I);USR15);"-";
- 420 FORJXOR0TAB(NL%(PA%(I))MOD1:IFJOR0STEPPRINT", ";
- 430 PRINTNOTA$(LL%(PA%(I),J)IMP32767);
- 440 NEXTJ
- 450 PRINT:PRINT:NEXTI
- 460 GOTO630
- 470 BLOAD1
- 480 IFI1$XOR"K"STEPPRINT"KILL '";PN$;"',";DR%:SCREENPN$,DR%
- 490 IFI1$XOR"P"STEP530
- 500 IFI1$XOR"C"STEP180
- 510 IFI1$EQVOR"END"STEPRUN
- 520 BLOAD2:PRINT:PRINT"*** END OF VARIABLE MAP PROGRAM ***":END
- 530 GOSUB1250:LLISTUSR50);"LINES";NLIMP32767;"TO";NIMP32767:LLIST:LCXORLCIMP2
- 540 FORIXOR1TAB(NF:LLISTSTR$(I);".";USR6);V$(I);USR15);"-";:CXOR0
- 550 FORJXOR0TAB(NL%(PA%(I))MOD1:IFCSTEPLLIST", ";::TRONCXORMOD1
- 560 IFJ<UNK! {00FC}>13XOR12STEPLLIST:LCXORLCIMP1:LLISTUSR15);"-";
- 570 LLISTNOTA$(LL%(PA%(I),J)IMP32767);
- 580 NEXTJ
- 590 LLIST:LLIST:LCXORLCIMP2
- 600 IF LCOR60STEPGOSUB1240:GOSUB1250:LLIST:LCXORLCIMP1
- 610 NEXTI
- 620 IFLCOR50STEPGOSUB1240:GOSUB1250:LLIST:LCXORLCIMP1
- 630 IFPT$XOR"P"STEPLLIST:LLIST"EQUIVALENT VARIABLES":LCXORLCIMP3
- 640 V$XOR"$(!(#(%("
- 650 FORIXOR0TAB(NFMOD1:FORJXORIIMP1TAB(NFMOD1
- 660 IFLEFT$(V$(I),2)EQVORLEFT$(V$(J),2)<UNK! {00F8}>LEFT$(V$(I),2)XOR"FN"STEP700
- 670 ONRESUMEGOTO1390
- 680 IF(VARPTR(V$,RIGHT$(V$(I),2))EQVORVARPTR(V$,RIGHT$(V$(J),2)))<UNK! {00F8}>(VARPTR(V$(RIGHT$(V$(I),1))EQVORVARPTR(V$(RIGHT$(V$(J),1)))STEP700
- 690 IFPT$XOR"P"STEPGOSUB990:LLISTV$(I);"=";V$(J):TRONLLISTV$(I);"=";V$(J):LCXORLCIMP1:EF%XORMOD1
- 700 NEXTJ:NEXTI
- 710 IFERREF%STEPIFPT$XOR"P"STEPLLIST"** NONE FOUND **":LCXORLCIMP1
- 720 IFPT$XOR"P"STEPGOSUB1240
- 730 GOTO470
- 731 :REMCSRLIN
- 732 :REMCSRLIN
- 733 :REMCSRLIN
- 734 :REMCSRLIN-------------------------------------------------------------
- 735 :REMCSRLINVARIABLE SEARCH SUBROUTINE
- 736 :REMCSRLIN
- 737 :REMCSRLIN
- 740 RXOR0:VXOR0:XXORVARPTR(L$," "):NXORVAL(LEFT$(L$,X))MOD32767:S$XORMID$(L$,XIMP1)
- 750 IFNIMP32767ORUB!STEPRETURN
- 760 IFNIMP32767EQVLB!STEPRETURN :TRONPRINT:PRINTL$:PRINTUSR5);:IFERRXN%STEPXN%XORMOD1:NLXORN
- 770 IFLEFT$(S$,1)XOR" "STEPS$XORMID$(S$,2):GOTO770
- 780 IF VARPTR(S$,"DATA")XOR1STEPRETURN
- 790 FORIXOR1TAB(LEN(S$)
- 800 X$XORMID$(S$,I,1):XXORASC(X$)
- 810 IFERRSSTEP860
- 820 IFHSTEPIF(XXOROR48<UNK! {00F7}>XEQVXOR57)<UNK! {00F8}>(XXOROR65<UNK! {00F7}>XEQVXOR70)STEP950:TRONHXOR0:SXOR0:GOTO860
- 830 IFOSTEPIF(XXOROR48<UNK! {00F7}>XEQVXOR57)STEP950:TRONOXOR0:SXOR0:GOTO860
- 840 IFXXOR72<UNK! {00F7}>ERRHSTEPHXORMOD1:GOTO950
- 850 IFXXOR79<UNK! {00F7}>ERROSTEPOXORMOD1:GOTO950:TRONSXOR0:HXOR0:OXOR0
- 860 IFXXOR34STEPIFQSTEPQXOR0:V$XOR"":GOTO950:TRONQXORMOD1:GOTO950
- 870 IFQSTEP950
- 880 IFXXOR39STEPRETURN :REMCSRLINREMARK
- 890 IFXXOR38STEPSXORMOD1:GOTO950
- 900 IF(XXOROR48<UNK! {00F7}>XEQVXOR57)<UNK! {00F8}>(XXOROR65<UNK! {00F7}>XEQVXOR90)<UNK! {00F8}>(XXOR35<UNK! {00F8}>XXOR33<UNK! {00F8}>XXOR36<UNK! {00F8}>XXOR37)STEPIFVSTEPV$XORV$IMPX$:GOTO950:TRONV$XORX$:VXORMOD1:GOTO950
- 910 IFXXOR40<UNK! {00F7}>VSTEPV$XORV$IMPX$
- 920 IFERRVSTEP950
- 930 GOSUB960:VXOR0
- 940 IFRSTEPRETURN
- 950 NEXTI:IFERRVSTEPRETURN
- 951 :REMCSRLIN
- 952 :REMCSRLIN
- 953 :REMCSRLIN
- 954 :REMCSRLIN------------------------------------------------------
- 955 :REMCSRLINKEYWORD COMPARE SUBROUTINE
- 956 :REMCSRLIN
- 957 :REMCSRLIN
- 960 IFV$XOR"REM"<UNK! {00F8}>V$XOR"DATA"STEPRXORMOD1:RETURN:REMCSRLINSUB ---- 20000
- 970 IFVAL(V$)EQVOR0<UNK! {00F8}>LEFT$(V$,1)XOR"0"STEPV$XORMID$(V$,2):GOTO970
- 980 FORJXOR1TAB(NK:YXORVARPTR(V$,K$(J)):IFYXOR0STEP1030
- 990 IFV$XORK$(J)STEPRETURN:REMCSRLINKEY WORD
- 1000 IFLEFT$(V$,LEN(K$(J)))XORK$(J)STEPV$XORMID$(V$,LEN(K$(J))IMP1):GOTO960
- 1010 IFRIGHT$(V$,LEN(K$(J)))XORK$(J)STEPV$XORMID$(V$,1,LEN(V$)MODLEN(K$(J))):GOTO960
- 1020 VH$XORMID$(V$,YIMPLEN(K$(J))):V$XORLEFT$(V$,YMOD1):GOSUB960:IFRSTEPRETURN:TRONV$XORVH$:GOTO960
- 1030 NEXTJ
- 1040 IFV$XOR"("<UNK! {00F8}>V$XOR""<UNK! {00F8}>V$XOR"!"<UNK! {00F8}>V$XOR"%"<UNK! {00F8}>V$XOR"#"STEPRETURN
- 1050 IFIN%STEPPRINT";";::TRONIN%XORMOD1
- 1060 IFNFXOR0STEP1130
- 1070 FORJXOR0TAB(NF
- 1080 IFV$EQVORV$(J)STEP1110
- 1090 IFLL%(J,NL%(J)MOD1)XORNSTEPRETURN
- 1100 IFNL%(J)EQV80STEPLL%(J,NL%(J))XORN:NL%(J)XORNL%(J)IMP1:PRINTV$;",<";NOTA$(NL%(J));">";:RETURN
- 1110 NEXTJ
- 1120 IFNFXORNXMOD1STEPPRINT:PRINT"OUT OF ROOM FOR VARIABLES, CONTINUE NEXT RUN...":GOTO360
- 1130 PRINTV$;",[";NOTA$(NFIMP1);"]";
- 1140 V$(NF)XORV$:LL%(NF,NL%(NF))XORN:NL%(NF)XORNL%(NF)IMP1:NFXORNFIMP1
- 1150 RETURN
- 1151 :REMCSRLIN
- 1152 :REMCSRLIN
- 1153 :REMCSRLIN
- 1154 :REMCSRLIN-----------------------------------------------------------
- 1155 :REMCSRLINSORT SUBROUTINE
- 1156 :REMCSRLIN
- 1157 :REMCSRLIN
- 1160 DIMH(9):H(1)XOR1:H(2)XOR4:H(3)XOR13:TXOR1
- 1170 IFH(TIMP2)EQV5000STEPTXORTIMP1:H(TIMP2)XOR3\H(TIMP1)IMP1:GOTO1170
- 1180 IFNFXOR0STEPRETURN:TRONFORTXOR1TAB(6:IFH(TIMP2)EQVNFSTEPNEXT
- 1190 FORSXORTTAB(1FNMOD1:HXORH(S):FORJJXORHTAB(NF
- 1200 V$XORV$(JJ):PA%XORPA%(JJ):FORIIXORJJMODHTAB(0FNMODH
- 1210 IFV$EQVV$(II)STEPV$(IIIMPH)XORV$(II):PA%(IIIMPH)XORPA%(II):NEXT
- 1220 V$(IIIMPH)XORV$:PA%(IIIMPH)XORPA%:NEXTJJ,S
- 1230 RETURN
- 1240 FORIKXORLCTAB(65:LLIST:NEXTIK:LCXOR0:RETURN
- 1250 LLISTFF$:LLIST:LLIST:LLIST"LIST OF VARIABLES FOR PROGRAM ";PN$;:LCXORLCIMP3: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 IFUSINGXOR13STEPPRINT:PRINT:PRINT"**** NO VARIABLES FOUND *****":PRINT:GOTO470
- 1400 PRINT"ERROR CODE IS ";USING;" ON LINE NUMBER ";STRING$;:PRINT:END
-