Listing of file='SYNTAX' on disk='vmedia/701-2049C.wvd.zip'
# Sector 58, program filename = 'SYNTAX' 0010 REM SYNTAX,00-00(02/18/76),12003A - COPYRIGHT WANG LABS. INC., 1976 0020 REM . SYSTEM NAME = WCS IPL-DIAGNOSTIC 0030 REM . PROGRAAM NAME = SYNTAX VERIFICATION PROGRAM 0040 REM . DATE WRITTEN = 05/30/75 0050 REM . VERIABLE LIST 0051 REM . I. SCRATCH ALPH-ARRAY 0052 REM . A$(),A0$(),X$(),X0$() 0054 REM . II. SCRATCH NUM-ARRAY 0055 REM . X(),X0() 0056 REM . III. SCRATCH ALPHA VERIABLE 0057 REM . A$,B$,M1$ 0058 REM . IV. SCRATCH NUMERIC VERIABLE 0059 REM . B,F,H,H1,H2,I,J,J0,K,T,X0,Y1 0100 COM A$(2,2)4,A0$(2)6,M1$1,X0$(1,1)1,X$(2)4,L$2,X0(2),X(1),X1,Y,A$64 0110 LOAD DC T#0,"SYNTAX1" 0120 REM . 'ADD & ADDC' (P #1) 0130 ADD(A$,F0) 0140 ADDC(STR(A$,I,J),02) 0150 ADD(STR(B$,I),M1$) 0160 ADDC(STR(A$(I,I),J),STR(B$,B,2)) 0170 ADD(STR(A$(I,J),H),B$) 0180 ADDC(STR(A$(J,K),M,F),7F) 0190 ADD(L$,STR(A$(H1,H2),J,2)) 0200 ADDC(STR(X0$(J,L),J,1),STR(A$(J,H),H,1)) 0210 REM . 'BIN & VAL' (P #2) 0220 BIN(STR(A$(I,J),H)) = INT(RND(1)*255/2) 0230 BIN(STR(A0$(I),3,1)) = Y^(COS(T)*10-8) 0240 BIN(STR(A$,I*J+2,1)) = 255 0250 X = VAL(STR(B$,9))*256+VAL(STR(A$(I,J),J))*16+VAL(STR(A0$(G),3)) 0260 Y = VAL("A")+VAL("X")-VAL("$") 0270 REM . 'CONVERT' (P #3) 0280 CONVERT STR(A$,1,8) TO X 0290 CONVERT X*2/F TO A$,(+#.##^^^^) 0300 CONVERT SIN(T) TO STR(A0$(J),H,K),(#.#####) 0310 CONVERT STR(A$(I,J),G,NUM(A$)) TO X(I) 0320 CONVERT X0(K) TO STR(A$,J,J*I),(-#.########) 0330 REM . 'PACK & UNPACK' (P #4) 0340 PACK(####) STR(A$,I,J) FROM X,X0,X(G) 0350 PACK(#.###) M1$ FROM X0(B) 0360 PACK(-#.##^^^^)STR(A$(I,J),K,J) FROM X,X0,X(I),X0(K) 0370 UNPACK(######)STR(A0$(K),J) TO X,X0,X(H) 0380 UNPACK(+#.####^^^^) A$() TO X0() 0390 UNPACK(#.###) STR(A$,1,J) TO X,X0,X(I),X0() 0400 REM . 'AND,OR,XOR & BOOL' (P #5) 0410 AND (STR(A$(I,J),J,X),7F) 0420 OR (STR(A0$(K),J),M1$) 0430 XOR (STR(A$(I,J),L,5),STR(B$,G,1)) 0440 BOOLF(STR(A$,I,2),0F) 0450 AND (STR(A$(I,J),J),STR(A$(J,I),J)) 0460 BOOL9(STR(A$(H,1),I,3),STR(A$,I,1)) 0470 REM . 'NUM' (P #6) 0480 Y = NUM(A$)*NUM(A$(I,J))+NUM(A0$(G)) 0490 IF NUM(X0$(K,K)) = Y*V+2 THEN 1570 0500 REM . 'POS' (P #7) 0510 Y0 = POS(B$ > "$")+POS(A$ = "#")+POS(X$(I) >= 0D) 0520 IF POS(B$ < FD)+POS(A$(I,J) <= 3F)*POS(STR(A$,J0) <> 20) > 256 THEN 1 570 0530 REM . 'LEN' (P #8) 0540 X0 = (LEN(A0$(J))+LEN(B$))*LEN(X0$(H,N)) 0550 IF LEN(C$)/LEN(X$(U)) > LEN(A$(I,J)) THEN 1570 0560 REM . 'LET' (P #9) 0570 LET X(3),X0(1),Z = T+TAN(T)*T 0580 REM . 'PLOT' (P #10) 0590 PLOT K<(X+Y)/2,(X-Y)/2,"*">,<,10,".">,<-100,-100,STR(A$,I,2)> 0600 PLOT N<RND(1)*X,,U>,<,RND(1)*Y,D>,<,,R> 0610 PLOT <15,,C>,<10,20,S>,<,,> 0620 REM . 'ROTATE' (P #11) 0630 ROTATE(STR(A$(I,J),J),7) 0640 ROTATE(B$,4) 0650 ROTATE(STR(X$(H),3),3) 0660 REM . 'TRACE' (P #12) 0670 TRACE 0680 TRACE OFF 0690 REM . 'RESTORE' (P #13) 0700 RESTORE (X*Y)/2-T 0710 RESTORE 0720 REM . 'RETURN' (P #14) 0730 RETURN 0740 REM . 'REWIND' (P #15) 0750 REWIND #3 0760 REWIND /10E 0770 REWIND 0780 REM . 'SKIP' (P #16) 0790 SKIP END 0800 SKIP #5,INT(RND(1)*10)F 0810 SKIP /10F,10 0820 REM . 'SELECT' (P #17) 0830 SELECT CO 008,CI 517 0840 SELECT CO 212(80) 0850 SELECT DISK 350,CI 001 0860 SELECT TAPE 10F,#3 07B,#1 310,#2 320,#4 B10,#5 B20,#6 330 0870 SELECT #5 10A,#110B,#210F,#310C,#410D,#610E 0880 SELECT PRINT 215 0890 SELECT INPUT 517 0900 SELECT PLOT 413,PLOT 414 0910 SELECT P9 0920 SELECT D 0930 SELECT R 0940 SELECT G 0950 REM . 'READ' (P #18) 0960 READ A$,A$(I,J),STR(A$,J,I),X(J),X0(K) 0970 REM . 'PRINT, HEXPRINT, PRINTUSING' (P #19) 0980 PRINT "X= ";X,3.141592,X(1),A$(I,J);TAB(F*12);1-COS(T)*RND(1) 0990 PRINT STR(A$,J,K); 1000 HEXPRINT STR(A$,B,J),STR(A$(I,J),J),X0$() 1010 PRINTUSING 1450,X,Y1,STR(A$,I,J),"GOTO",12.35 1020 REM . 'HEX' (P #20) 1030 A$ = HEX(0102030405060708090A0B0C0D0E0F00) 1040 STR(B$,I,9) = HEX(101112131415161817FF) 1050 IF HEX(C0) > STR(A$,J,1) THEN 1570 1060 REM . 'ON' (P #21) 1070 ON (M*TAN(T)^2) GOTO 10,100,110,100,130,220,340,130,280 1080 ON LEN(A$) GOSUB 510,570,630,700 1090 REM . 'BACKSPACE' (P #22) 1100 BACKSPACE /10C,BEG 1110 BACKSPACE #5,(A*B-C)F 1120 BACKSPACE A-INT(RND(1)*10) 1130 REM . 'DATALOAD' (P #23) 1140 DATA LOAD #6,"DATA" 1150 DATA LOAD /10A,A,A1,A$,STR(A$(I,J),J) 1160 DATA LOAD X(),X0() 1170 DATA LOAD /517,A$(),A0$(),STR(A$,J) 1180 DATA LOAD /618,X(),X0() 1190 DATA LOAD /41D,X,STR(M1$,2) 1200 REM . 'DATALOAD BT' (P #24) 1210 DATA LOAD BT#6,A$() 1220 DATA LOAD BT(N=100)#3,X$() 1230 DATA LOAD BT/10F,X0$() 1240 DATA LOAD BT(N=40,L=FF,S=99)/517,A$() 1250 DATA LOAD BTR(N=200,L=FD,S=STR(A$,J))/618,A0$() 1260 DATA LOAD BT(N=20,L=FE,S=C0)/41E,A$() 1270 DATA LOAD BT(N=42)#1,A0$() 1280 REM . 'DATASAVE' (P #25) 1290 DATA SAVE #3,OPEN "ABCD00" 1300 DATA SAVE STR(A$(J,I),J,I),HEX(000FFF),"FILE",X(),RND(1) 1310 DATA SAVE /10F,END 1320 DATA SAVE Y,X,X0,X$(),X(),X0() 1330 DATA SAVE /41F, OPEN "TYTE" 1340 DATA SAVE /41D,STR(A$,A,1),X$() 1350 REM . 'DATASAVE BT' (P #26) 1360 DATA SAVE BTR(N=100) A$() 1370 DATA SAVE BT(N=100,H) #6,X$() 1380 DATA SAVE BT/41F, STR(M1$,1,1) 1390 REM . 'INPUT & KEYIN' (P #27) 1400 INPUT "ENTER THE DATA",STR(A$(I,J),J,I),X,X0(I),X(U),STR(C$,I,L) 1410 KEYIN A$,830,1360 1420 KEYIN STR(X0$(J,I),J),830,1360 1430 REM . 'IMAGE' (P #28) 1440 %ORDER NO. = ######, DATE = ##/##/##, NAME = ########### 1450 %+####.####### GOTO LINE #### THEN STOP TO PRINT -#.####^^^^, END OF BLOCK./ 1460 REM . 'GOSUB' (P #29) 1470 Y=X+V 1480 GOSUB 1570 1490 GOSUB '30("BOB",STR(A$,I,J),Y^2/COS(T),X$(1),2.375,-1.25,FNB(C)^2) 1500 GOSUB '255 1510 REM . 'DEFFN & DEFFN'X ' (P #30) 1520 DEFFN'245"SELECT CO 215 : HEX\A0A$() : SELECT CO005" 1530 DEFFN'30(Z$,Z1$,Z,Z2$,Z1,Z2,Z3) 1540 DEFFNB(C) = 3*A+FNA(2*A-B) 1550 DEFFNA(C) = X^2-2*B*C-SQR(B*B-C*C) 1560 DEFFN5(A) = FNB(3)-FNA(2)+X^2 1570 STOP 1580 REM . END OF 'SYNTAX' PART 1