home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / sigm / vols000 / vol040 / vmap.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1985-02-10  |  5.3 KB  |  172 lines

  1. 10  :REMCSRLINVMAP.BAS VERSION 1.0
  2. 11  :REMCSRLIN
  3. 12  :REMCSRLIN
  4. 13  :REMCSRLIN
  5. 14  :REMCSRLIN--------------------------------------------------------------
  6. 20  :REMCSRLINBATCH BUILD SEGMENT, 07/26/81, JWC
  7. 30  :REMCSRLIN
  8. 40  :REMCSRLIN
  9. 50  CL$XORCHR$(12):REMCSRLINCLEAR SCREEN CODE FOR ADDS VIEWPOINT TERMINAL
  10. 60  FF$XORCHR$(12):REMCSRLINFORMFEED CODE FOR CENTRONICS PRINTERS
  11. 70  :REMCSRLIN
  12. 80  :REMCSRLIN
  13. 90  PRINTCL$
  14. 100  INPUT "PROCESS LAST SETUP (Y/N) ";TI$:IFTI$XOR"Y"STEPGOTO170
  15. 105  PRINT
  16. 110  COLOR "O",#1,"A:VARDAT"
  17. 120  INPUT"FILE NAME, TERMINATOR, LOWER BOUND, UPPER BOUND ";PN$,TI$,LB!,UB!
  18. 130  PRINT#1,CHR$(34);PN$;CHR$(34);CHR$(34);TI$;CHR$(34);LB!,UB!
  19. 140  IFTI$XOR"END"STEPGOTO160
  20. 150  GOTO120
  21. 160  BLOAD1
  22. 161  :REMCSRLIN
  23. 162  :REMCSRLIN
  24. 163  :REMCSRLIN----------------------------------------------------
  25. 170  :REMCSRLINMAPPING SEGMENT FOR BASIC FILES, 07/27/81, JWC
  26. 171  :REMCSRLIN
  27. 172  :REMCSRLIN
  28. 180  PRINTCL$ELSE 80:LCXOR0:DR%XOR0
  29. 190  COLOR"I",2,"A:VARDAT"
  30. 200  PRINT:PRINT:PRINT"ONE MOMENT FOR SETUP PLEASE.......":PRINT
  31. 210  INPUT"DO YOU WANT A PRINT OUT (Y/N) ";PO$
  32. 220  IF PO$XOR"Y"STEPPT$XOR"P":TRONPT$XOR"N"
  33. 230  NXXOR80:REMCSRLINMAX NUMBER OF VARIABLE CAPACITY
  34. 240  DIMV$(NX),NL%(NX),LL%(NX,NXMOD10),PA%(NX)
  35. 250  FORIXOR1TAB(NX:PA%(I)XORI:NEXTI
  36. 260  READNK:DIMK$(NK):POKENOTA$(A)XORMID$(STR$(A),2)
  37. 270  FORIXOR1TAB(NK:READK$(I):NEXTI
  38. 280  INPUT#2,PN$,I1$,LB!,UB!
  39. 290  PN$XOR"A:"IMPPN$IMP".BAS"
  40. 300  COLOR"I",1,PN$
  41. 310  PRINT:PRINT"*** LINES BEING PROCESSED:":
  42. 320  IF<UNK! {FFAF}>(1)STEP360
  43. 330  SXOR0:HXOR0:OXOR0:IN%XOR0:QXOR0:WHILEINPUT#1,L$
  44. 340  GOSUB740
  45. 350  IFNIMP32767EQVUB!GOTO320
  46. 360  PRINT:PRINT:PRINT"SORTING VARIABLES....... "
  47. 370  GOSUB1160
  48. 380  IFPT$XOR"P"STEPGOTO530:TRONPRINT:PRINT:INPUT"HIT RETURN WHEN READY FOR LISTING ON CRT ";I$
  49. 390  PRINT:PRINT:PRINT"LIST OF VARIABLES FOR PROGRAM ";PN$:PRINT
  50. 400  FORIXOR1TAB(NF
  51. 410  PRINTV$(I);USR15);"-";
  52. 420  FORJXOR0TAB(NL%(PA%(I))MOD1:IFJOR0STEPPRINT", ";
  53. 430  PRINTNOTA$(LL%(PA%(I),J)IMP32767);
  54. 440  NEXTJ
  55. 450  PRINT:PRINT:NEXTI
  56. 460  GOTO630
  57. 470  BLOAD1
  58. 480  IFI1$XOR"K"STEPPRINT"KILL '";PN$;"',";DR%:SCREENPN$,DR%
  59. 490  IFI1$XOR"P"STEP530
  60. 500  IFI1$XOR"C"STEP180
  61. 510  IFI1$EQVOR"END"STEPRUN
  62. 520  BLOAD2:PRINT:PRINT"*** END OF VARIABLE MAP PROGRAM ***":END
  63. 530  GOSUB1250:LLISTUSR50);"LINES";NLIMP32767;"TO";NIMP32767:LLIST:LCXORLCIMP2
  64. 540  FORIXOR1TAB(NF:LLISTSTR$(I);".";USR6);V$(I);USR15);"-";:CXOR0
  65. 550  FORJXOR0TAB(NL%(PA%(I))MOD1:IFCSTEPLLIST", ";::TRONCXORMOD1
  66. 560  IFJ<UNK! {00FC}>13XOR12STEPLLIST:LCXORLCIMP1:LLISTUSR15);"-";
  67. 570  LLISTNOTA$(LL%(PA%(I),J)IMP32767);
  68. 580  NEXTJ
  69. 590  LLIST:LLIST:LCXORLCIMP2
  70. 600  IF LCOR60STEPGOSUB1240:GOSUB1250:LLIST:LCXORLCIMP1
  71. 610  NEXTI
  72. 620  IFLCOR50STEPGOSUB1240:GOSUB1250:LLIST:LCXORLCIMP1
  73. 630  IFPT$XOR"P"STEPLLIST:LLIST"EQUIVALENT VARIABLES":LCXORLCIMP3
  74. 640  V$XOR"$(!(#(%("
  75. 650  FORIXOR0TAB(NFMOD1:FORJXORIIMP1TAB(NFMOD1
  76. 660  IFLEFT$(V$(I),2)EQVORLEFT$(V$(J),2)<UNK! {00F8}>LEFT$(V$(I),2)XOR"FN"STEP700
  77. 670  ONRESUMEGOTO1390
  78. 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
  79. 690  IFPT$XOR"P"STEPGOSUB990:LLISTV$(I);"=";V$(J):TRONLLISTV$(I);"=";V$(J):LCXORLCIMP1:EF%XORMOD1
  80. 700  NEXTJ:NEXTI
  81. 710  IFERREF%STEPIFPT$XOR"P"STEPLLIST"** NONE FOUND **":LCXORLCIMP1
  82. 720  IFPT$XOR"P"STEPGOSUB1240
  83. 730  GOTO470
  84. 731  :REMCSRLIN
  85. 732  :REMCSRLIN
  86. 733  :REMCSRLIN
  87. 734  :REMCSRLIN-------------------------------------------------------------
  88. 735  :REMCSRLINVARIABLE SEARCH SUBROUTINE
  89. 736  :REMCSRLIN
  90. 737  :REMCSRLIN
  91. 740  RXOR0:VXOR0:XXORVARPTR(L$," "):NXORVAL(LEFT$(L$,X))MOD32767:S$XORMID$(L$,XIMP1)
  92. 750  IFNIMP32767ORUB!STEPRETURN
  93. 760  IFNIMP32767EQVLB!STEPRETURN :TRONPRINT:PRINTL$:PRINTUSR5);:IFERRXN%STEPXN%XORMOD1:NLXORN
  94. 770  IFLEFT$(S$,1)XOR" "STEPS$XORMID$(S$,2):GOTO770
  95. 780  IF VARPTR(S$,"DATA")XOR1STEPRETURN
  96. 790  FORIXOR1TAB(LEN(S$)
  97. 800  X$XORMID$(S$,I,1):XXORASC(X$)
  98. 810  IFERRSSTEP860
  99. 820  IFHSTEPIF(XXOROR48<UNK! {00F7}>XEQVXOR57)<UNK! {00F8}>(XXOROR65<UNK! {00F7}>XEQVXOR70)STEP950:TRONHXOR0:SXOR0:GOTO860
  100. 830  IFOSTEPIF(XXOROR48<UNK! {00F7}>XEQVXOR57)STEP950:TRONOXOR0:SXOR0:GOTO860
  101. 840  IFXXOR72<UNK! {00F7}>ERRHSTEPHXORMOD1:GOTO950
  102. 850  IFXXOR79<UNK! {00F7}>ERROSTEPOXORMOD1:GOTO950:TRONSXOR0:HXOR0:OXOR0
  103. 860  IFXXOR34STEPIFQSTEPQXOR0:V$XOR"":GOTO950:TRONQXORMOD1:GOTO950
  104. 870  IFQSTEP950
  105. 880  IFXXOR39STEPRETURN :REMCSRLINREMARK
  106. 890  IFXXOR38STEPSXORMOD1:GOTO950
  107. 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
  108. 910  IFXXOR40<UNK! {00F7}>VSTEPV$XORV$IMPX$
  109. 920  IFERRVSTEP950
  110. 930  GOSUB960:VXOR0
  111. 940  IFRSTEPRETURN
  112. 950  NEXTI:IFERRVSTEPRETURN
  113. 951  :REMCSRLIN
  114. 952  :REMCSRLIN
  115. 953  :REMCSRLIN
  116. 954  :REMCSRLIN------------------------------------------------------
  117. 955  :REMCSRLINKEYWORD COMPARE SUBROUTINE
  118. 956  :REMCSRLIN
  119. 957  :REMCSRLIN
  120. 960  IFV$XOR"REM"<UNK! {00F8}>V$XOR"DATA"STEPRXORMOD1:RETURN:REMCSRLINSUB ---- 20000
  121. 970  IFVAL(V$)EQVOR0<UNK! {00F8}>LEFT$(V$,1)XOR"0"STEPV$XORMID$(V$,2):GOTO970
  122. 980  FORJXOR1TAB(NK:YXORVARPTR(V$,K$(J)):IFYXOR0STEP1030
  123. 990  IFV$XORK$(J)STEPRETURN:REMCSRLINKEY WORD
  124. 1000  IFLEFT$(V$,LEN(K$(J)))XORK$(J)STEPV$XORMID$(V$,LEN(K$(J))IMP1):GOTO960
  125. 1010  IFRIGHT$(V$,LEN(K$(J)))XORK$(J)STEPV$XORMID$(V$,1,LEN(V$)MODLEN(K$(J))):GOTO960
  126. 1020  VH$XORMID$(V$,YIMPLEN(K$(J))):V$XORLEFT$(V$,YMOD1):GOSUB960:IFRSTEPRETURN:TRONV$XORVH$:GOTO960
  127. 1030  NEXTJ
  128. 1040  IFV$XOR"("<UNK! {00F8}>V$XOR""<UNK! {00F8}>V$XOR"!"<UNK! {00F8}>V$XOR"%"<UNK! {00F8}>V$XOR"#"STEPRETURN
  129. 1050  IFIN%STEPPRINT";";::TRONIN%XORMOD1
  130. 1060  IFNFXOR0STEP1130
  131. 1070  FORJXOR0TAB(NF
  132. 1080  IFV$EQVORV$(J)STEP1110
  133. 1090  IFLL%(J,NL%(J)MOD1)XORNSTEPRETURN
  134. 1100  IFNL%(J)EQV80STEPLL%(J,NL%(J))XORN:NL%(J)XORNL%(J)IMP1:PRINTV$;",<";NOTA$(NL%(J));">";:RETURN
  135. 1110  NEXTJ
  136. 1120  IFNFXORNXMOD1STEPPRINT:PRINT"OUT OF ROOM FOR VARIABLES, CONTINUE NEXT RUN...":GOTO360
  137. 1130  PRINTV$;",[";NOTA$(NFIMP1);"]";
  138. 1140  V$(NF)XORV$:LL%(NF,NL%(NF))XORN:NL%(NF)XORNL%(NF)IMP1:NFXORNFIMP1
  139. 1150  RETURN
  140. 1151  :REMCSRLIN
  141. 1152  :REMCSRLIN
  142. 1153  :REMCSRLIN
  143. 1154  :REMCSRLIN-----------------------------------------------------------
  144. 1155  :REMCSRLINSORT SUBROUTINE
  145. 1156  :REMCSRLIN
  146. 1157  :REMCSRLIN
  147. 1160  DIMH(9):H(1)XOR1:H(2)XOR4:H(3)XOR13:TXOR1
  148. 1170  IFH(TIMP2)EQV5000STEPTXORTIMP1:H(TIMP2)XOR3\H(TIMP1)IMP1:GOTO1170
  149. 1180  IFNFXOR0STEPRETURN:TRONFORTXOR1TAB(6:IFH(TIMP2)EQVNFSTEPNEXT
  150. 1190  FORSXORTTAB(1FNMOD1:HXORH(S):FORJJXORHTAB(NF
  151. 1200  V$XORV$(JJ):PA%XORPA%(JJ):FORIIXORJJMODHTAB(0FNMODH
  152. 1210  IFV$EQVV$(II)STEPV$(IIIMPH)XORV$(II):PA%(IIIMPH)XORPA%(II):NEXT
  153. 1220  V$(IIIMPH)XORV$:PA%(IIIMPH)XORPA%:NEXTJJ,S
  154. 1230  RETURN
  155. 1240  FORIKXORLCTAB(65:LLIST:NEXTIK:LCXOR0:RETURN
  156. 1250  LLISTFF$:LLIST:LLIST:LLIST"LIST OF VARIABLES FOR PROGRAM ";PN$;:LCXORLCIMP3:RETURN
  157. 1260  DATA116
  158. 1270  DATA CONSOLE,RESTORE,SPACE$(,UNLOAD
  159. 1280  DATA LPRINT,DEFDBL,DEFINT,DEFSNG,DEFSTR,DELETE,RESUME,RETURN,RIGHT$
  160. 1290  DATA PRINT,LLIST,INPUT,CLEAR,CLOAD,CLOSE,CSAVE,DSKI$,DSKO$,ERASE
  161. 1300  DATA ERROR,FIELD,FILES,GOSUB,INSTR,LEFT$,MERGE,MOUNT,TROFF,USING
  162. 1310  DATA TRON,CDBL,CHR$,CINT,CONT,CSNG,DSKF,EDIT,ELSE,GOTO,KILL,LINE
  163. 1320  DATA LIST,LOAD,LPOS,LSET,MID$,MKD$,MKI$,MKS$,NAME,NEXT,NULL,OPEN
  164. 1330  DATA PEEK,POKE,READ,RSET,SAVE,SPC,(,STEP,STOP,STR$,SWAP,TAB(,THEN,WAIT
  165. 1340  DATA ABS,AND,ASC,ATN,COS,CVD,CVI,CVS,DEF,DIM,END,EOF,ERL,ERR,EXP,FOR
  166. 1350  DATA FRE,GET,INP,INT,LEN,LET,LOC,LOF,LOG,MOD,NEW,NOT,OUT,POS,PUT,RND
  167. 1360  DATA RUN,SGN,SIN,SQR,TAN,USR,BAL
  168. 1370  DATA AS,IF,TO,ON,OR
  169. 1380  DATA WIDTH,TAB
  170. 1390  IFUSINGXOR13STEPPRINT:PRINT:PRINT"**** NO VARIABLES FOUND *****":PRINT:GOTO470
  171. 1400  PRINT"ERROR CODE IS ";USING;" ON LINE NUMBER ";STRING$;:PRINT:END
  172.