討論區: Forum of Decimal BASIC (Thread #44959)

Error When Compiling (2021-12-29 14:50 by toml12953 #88450)

The following program runs in the interpreter but fails in the compiler:

10 PRINT "PROGRAM FILE 13: FORMAT AND ROUNDING OF PRINTED"
20 PRINT " NUMERIC CONSTANTS."
30 PRINT " ANSI STANDARD 12.4, 5.2, 5.4"
40 PRINT
50 PRINT "SECTION 13.1: PRINTED REPRESENTATION OF CONSTANTS."
60 PRINT
70 PRINT "THE FORMAT OF A PRINTED CONSTANT IS DETERMINED BY THE VALUE"
80 PRINT "OF THE CONSTANT RATHER THAN BY ITS ORIGINAL REPRESENTATION."
90 PRINT "THE SUPPRESSION OF LEADING INSIGNIFICANT ZEROS IN THE EXRAD"
100 PRINT "OR TRAILING INSIGNIFICANT ZEROS IN THE SIGNIFICAND"
110 PRINT "IS OPTIONAL. "
120 PRINT
130 PRINT " BEGIN TEST."
140 PRINT
150 PRINT " #","CONSTANT","NR1","NR2","NR3"
160 PRINT
170 PRINT " 1"," 76767",76767
180 PRINT " 2"," 76767.0",76767.0
190 PRINT " 3"," 767.670E2",767.67E2
200 PRINT " 4","-.987789",,-.987789
210 PRINT " 5","-.0009877E9E3",,-.000987789E3
220 PRINT " 6","-9.87789E-1",,-9.87789E-1
230 PRINT " 7"," 1230000000",,,1230000000
240 PRINT " 8"," .0000012345",,,.0000012345
250 PRINT " 9"," 2.3E9",,,2.3E9
260 PRINT
270 PRINT "*** TEST PASSED IF THE CONSTANTS IN ROWS 1, 2 AND 3 PRINTED"
280 PRINT " IN NR1 FORMAT; IN ROWS 4, 5 AND 6 IN NR2 FORMAT; AND IN"
290 PRINT " ROWS 7, 8 AND 9 IN NR3 FORMAT ***"
300 PRINT
310 PRINT "EXCEPT: IF SIGNIFICANCE-WIDTH FOR THIS IMPLEMENTATION IS"
320 PRINT "GREATER THAN 9, ROWS 7, 8, AND 9 MUST BE IN NR1, NR3,"
330 PRINT "AND NR1 FORMAT, RESPECTIVELY."
340 PRINT
350 PRINT " END TEST."
360 PRINT
370 PRINT "SECTION 13.2: ROUNDING RESULTS."
380 PRINT
390 PRINT "THE NUMBER OF SIGNIFICANT DIGITS PRINTED IS IMPLEMENTATION"
400 PRINT "DEFINED; HOWEVER, NR2 AND NR3 CONSTANTS WHICH CONTAIN EXCESS"
410 PRINT "DIGITS SHOULD BE PRINTED IN A STANDARD REPRESENTATION."
420 PRINT
430 PRINT " BEGIN TEST."
440 PRINT
450 LET T1=30
460 PRINT "SOURCE CONSTANTS";TAB(T1);"PROCESSOR OUTPUT"
470 PRINT
480 PRINT "1 1234567886";TAB(T1);1234567886
490 PRINT "2 .000001234567886";TAB(T1);.000001234567886
500 PRINT "3 9.999999999";TAB(T1);9.999999999
510 PRINT "4 923456.7886";TAB(T1);923456.7886
520 PRINT "5 -0.09234567886";TAB(T1);-0.09234567886
530 PRINT "6 .04444444444";TAB(T1);.04444444444
540 PRINT "7 .001200000004";TAB(T1);.001200000004
550 PRINT
560 PRINT "CORRECT REPRESENTATION FOR PROCESSORS PRINTING FROM 6 TO 9"
570 PRINT "SIGNIFICANT DIGITS"
580 PRINT
590 PRINT "D = 6","D = 7","D = 8","D = 9"
600 PRINT
610 PRINT "1 1.23457E+9","1.234568E+9","1.2345679E+9","1.23456789E+9"
620 PRINT "2 1.23457E-6","1.234568E-6","1.2345679E-6","1.23456789E-6"
630 PRINT "3 10","10","10","10"
640 PRINT " (10.)","(10.)","(10.)","(10.)"
650 PRINT "4 923457.","923456.8","923456.79","923456.789"
660 PRINT " (923457)"
670 PRINT "5 -9.23457E-2","-9.234568E-2",
680 PRINT "-9.2345679E-2","-9.23456789E-2"
690 PRINT "6 4.44444E-2","4.444444E-2","4.4444444E-2","4.44444444E-2"
700 PRINT "7 .001200",".0012000",".00120000",".001200000"
710 PRINT
720 PRINT "*** TEST PASSED IF THE PROCESSOR OUTPUT IN THE FIRST SET"
730 PRINT " OF NUMBERED ROWS MATCHES THE COLUMN CORRESPONDING"
740 PRINT " TO THE IMPLEMENTATION-DEFINED SIGNIFICANCE-WIDTH"
750 PRINT " (ALLOWING FOR OPTIONAL TRAILING ZEROS IN THE"
755 PRINT " SIGNIFICAND AND LEADING ZEROS IN THE EXRAD) ***"
760 PRINT
762 PRINT " END TEST."
765 PRINT
770 PRINT "END PROGRAM 13"
780 END

回覆 #88450×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) 登入

Re: Error When Compiling (2021-12-29 15:07 by toml12953 #88451)

Reply To Message #88450
The problem is in line 200:

> The following program runs in the interpreter but fails in the compiler:

> 200 PRINT " 4","-.987789",,-.987789
> 780 END


回覆: #88450

回覆 #88451×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) 登入

Re: Error When Compiling (2021-12-30 16:41 by SHIRAISHI Kazuo #88458)

Thanks for the report.
The revised edition shall be published soon.

回覆: #88451

回覆 #88458×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) 登入