10 PRINT "PROGRAM FILE 84: ERROR - DIMENSIONING THE SAME ARRAY "
20 PRINT "        MORE THAN ONCE."
30 PRINT "    ANSI STANDARD 15.4"
40 PRINT
50 PRINT "*** NOTE: THIS PROGRAM MAKES USE OF THE INPUT STATEMENT"
60 PRINT "    WHICH HAS NOT YET BEEN TESTED. IF SUBSEQUENT TESTS SHOW"
70 PRINT "    THIS FEATURE TO BE INCORRECTLY IMPLEMENTED, THEN THE "
80 PRINT "    VALIDITY OF THE RESULTS OF THIS TEST ROUTINE IS DOUBTFUL."
90 PRINT
100 PRINT "SECTION 84.1: ERROR - DIMENSIONING THE SAME ARRAY "
110 PRINT "        MORE THAN ONCE."
120 PRINT
130 PRINT "THIS IS A TEST FOR A NON-STANDARD FEATURE OF MINIMAL BASIC."
140 PRINT "TO PASS THIS TEST, THE PROCESSOR MUST EITHER:"
150 PRINT
160 PRINT "   1) ACCEPT THE PROGRAM AND BE ACCOMPANIED BY DOCUMENTATION"
170 PRINT "      ACCURATELY DESCRIBING THE FEATURE'S INTERPRETATION"
180 PRINT "      BY THE PROCESSOR, OR"
190 PRINT
200 PRINT "   2) REJECT THE PROGRAM WITH AN APPROPRIATE ERROR MESSAGE"
210 PRINT
220 PRINT "SEE THE NBS MINIMAL BASIC TEST PROGRAMS USER'S MANUAL"
230 PRINT "FOR DETAILED CRITERIA."
240 PRINT
250 PRINT "               BEGIN TEST"
260 PRINT
270 PRINT "IN ORDER TO DETERMINE WHAT INTERPRETATION IS GIVEN TO A"
280 PRINT "DOUBLY-DIMENSIONED ARRAY, YOU MUST EXECUTE THIS PROGRAM"
290 PRINT "THREE TIMES, AND NOTE EACH TIME WHETHER A SUBSCRIPT-OUT-"
300 PRINT "OF-RANGE EXCEPTION OCCURS. THE TABLE BELOW GIVES THE"
310 PRINT "EXPECTED RESULTS FOR EACH OF FIVE POSSIBLE INTERPRETATIONS."
320 PRINT
330 PRINT "RESULTS WHICH DO NOT MATCH ANY OF THE ROWS IN THE TABLE"
340 PRINT "INDICATE THAT SOME OTHER INTERPRETATION IS BEING USED."
350 PRINT
360 PRINT "TABLE OF RESULTS: THE THREE COLUMNS STAND FOR 1ST, 2ND, AND"
370 PRINT "3RD EXECUTION, AND THE FIVE ROWS STAND FOR FIVE POSSIBLE"
380 PRINT "INTERPRETATIONS."
390 PRINT
400 PRINT "          DID EXCEPTION OCCUR?"
410 PRINT
420 PRINT "               1      2      3"
430 PRINT "INT NO. 1     YES    YES    YES"
440 PRINT "INT NO. 2     YES    YES    NO"
450 PRINT "INT NO. 3     NO     NO     NO"
460 PRINT "INT NO. 4     YES    NO     NO"
470 PRINT "INT NO. 5     NO     YES    NO"
480 PRINT
490 PRINT "INTERPRETATION NUMBER 1 IS THAT THE FIRST DIM-STATEMENT IN"
500 PRINT "THE SOURCE CODE GOVERNS THE SIZE OF THE ARRAY."
510 PRINT
520 PRINT "INTERPRETATION NUMBER 2 IS THAT THE DIM-STATEMENT MOST"
530 PRINT "RECENTLY PRECEDING AN ARRAY REFERENCE IN THE SOURCE CODE"
540 PRINT "DETERMINES THE SIZE OF THE ARRAY AT THAT REFERENCE."
550 PRINT
560 PRINT "INTERPRETATION NUMBER 3 IS THAT THE LAST DIM-STATEMENT IN"
570 PRINT "THE SOURCE CODE DETERMINES THE SIZE OF THE ARRAY."
580 PRINT
590 PRINT "INTERPRETATION NUMBER 4 IS THAT THE FIRST DIM-STATEMENT"
600 PRINT "EXECUTED DETERMINES THE SIZE OF THE ARRAY."
610 PRINT
620 PRINT "INTERPRETATION NUMBER 5 IS THAT THE DIM-STATEMENT MOST"
630 PRINT "RECENTLY EXECUTED DETERMINES THE SIZE OF THE ARRAY."
640 LET S=13
650 PRINT
660 PRINT "IS THIS THE 1ST, 2ND OR 3RD EXECUTION (RESPOND 1, 2, OR 3)?"
670 INPUT I
680 IF I=1 THEN 730
690 IF I=2 THEN 770
700 IF I=3 THEN 770
710 PRINT "INVALID RESPONSE - RE-ENTER."
720 GOTO 650
730 DIM A(12)
740 IF I=1 THEN 770
750 LET A(S)=7
760 GOTO 810
770 DIM A(14)
780 IF I=1 THEN 750
790 IF I=2 THEN 730
800 LET A(S)=8
810 PRINT
820 PRINT
830 PRINT "                END TEST"
840 PRINT
850 PRINT "END PROGRAM 84"
860 END
