C-FOCAL v5J(331)-1 1847 13-Mar-76 01.01 C - PROGRAM TO CHECK THE SIMULATION OF FOCAL-10. 02.01 C - FUNCTION EXECUTION. 02.10 X FOCAL(3,3),FOCAL(1,1),FOCAL(2,2),FOCAL(99),FLOG10(2),FLOG(2) 02.20 X FRAN,FRAN,FRAN,FRAN(1),FRAN(-1) 02.30 X FSIN,FSIN(2^(-99)),FSIN(12),FSIND,FCOS,FCOSD 02.40 X GETTAB(5000,5000),GETTAB(0) 02.50 X FEXP,FSQT,FATN(2^10),FATN,FATN(1),FABS,FSGN,FRAN,FITR(1E35) 02.99 ERASE 2 03.01 C - INPUT/OUTPUT ROUTINES. 03.10 O O NUL:/6;O O NUL:/7;O O NUL:/10;O O TTY:/7;O O TTY:/6;O O FCLTMP.FCL/5;TYPE" 3"!;X FCHR(65),FCHR(127),FCHR(127),FCHR(127),FCHR(127),FCHR(127),FCHR(127),FCHR(127),FCHR(65),FCHR(72),FCHR(72),FCHR(18),FCHR(21),FCHR(65),FCHR(32),FCHR(65),FCHR(27),FOCAL(2,2);ty/5%16,9999999999999999.4#!;O O TTY:/5;O O TTY:/10;L D NUL: 03.20 O I DSK:FORLIB.REL[1,4];O I FCLTMP;A X,A$,X,X;X FCHR(-1),FCHR(-1),FCHR(-1);O I TTY:;l D fCLTMP.FCL 03.30 S X$(1,2,3)="ABC"+FCHR$(10)+"ABC"+FCHR$(34),X(1,2,3)=1.E24,X=-1E-20 03.40 O O NUL:;W;W 3;T%,1E-1%30,1E20,1E33$$%E6.01'BOO";O O TTY: 03.50 O O FCLTMP.TMP;T"S";X FCHR(127),FCHR(127),FCHR(8),FCHR(21),FCHR(127),FCHR(8),FCHR(7),FCHR(69),FCHR(12),FCHR(18),FCHR(10);T"M"!;X FCHR(16);T!"O I TTY:;E 3.5,3.51;GO"!;O O TTY:;O I FCLTMP.TMP;M 3.51,3.51,3.51 03.51 PLEASE IGNORE THIS EXAMPLE OF MODIFICATION BY PROGRAM. 03.99 E 3 04.01 C - GENERAL REFERENCES ... EXPRESSIONS AND COMMANDS. 04.02 E? 04.03 ?I(0 .NE.1);I(0 .EQ.0);I(0#1);I(-1=(-1));I("A"="A");I("A"#"B");L S NUL:<100>;L S NUL: 4.01,ALL 04.04 SET X$(1,2,3)="ABC"+X$+"DEF";SET X(1,23,3)=A+B-C*D/4*(3+2)^1.32**0,X$(1,2,3)=X$(1,2,3) 04.06 DO 4.07;GO TO 4.08 04.07 RETURN 04.08 FOR X=1; 04.09 FOR Y=1,2,3;ERASE 04.10 FOR Z=2,-1,1; 04.11 I 0,4.12 04.12 I 1,,4.13 04.13 C 04.99 erase 4 05.01 C - NON-FATAL ERROR MESSAGES. 05.02 T"PLEASE IGNORE THE FOLLOWING NON-FATAL ERROR MESSAGES."! 05.03 X FOCAL(3,-1) 05.04 T/5 05.05 X 1/0 05.06 X 2^(-130) 05.08 X FSQT(-1) 05.09 L D SYS:FOROTS.SHR 05.12 T%200 05.88 X FOCAL(3,3),FEXP(99),FEXP(-99) 05.99 E 5 09.01 C - COMPUTE HOW WE'RE GOING. 09.04 TYPE%4!"SCORE: "FNEW(-1)" OUT OF"FNEW(0)" POSSIBLE."! 10.01 C - FATAL ERROR MESSAGES. 10.05 DO 11.05 10.06 DO 11.06 10.07 DO 11.07 10.11 DO 11.11 10.12 DO 11.12 10.13 DO 11.13 10.14 DO 11.14 10.15 DO 11.15 10.16 DO 11.16 10.17 DO 11.17 10.18 DO 11.18 10.19 DO 11.19 10.20 DO 11.20 10.21 DO 11.21 10.22 DO 11.22 10.23 DO 11.23 10.24 DO 11.24 10.25 DO 11.25 10.26 DO 11.26 10.27 DO 11.27 10.28 DO 11.28 10.29 DO 11.29 10.30 DO 11.30 10.31 DO 11.31 10.32 DO 11.32 10.33 DO 11.33 10.34 DO 11.34 10.35 DO 11.35 10.36 DO 11.36 10.37 DO 11.37 10.38 DO 11.38 10.39 DO 11.39 10.40 DO 11.40 10.41 DO 11.41 10.42 DO 11.42 10.43 DO 11.43 10.44 DO 11.44 10.45 DO 11.45 10.46 DO 11.46 10.47 DO 11.47 10.48 DO 11.48 10.49 DO 11.49 10.50 DO 11.50 10.51 DO 11.51 10.52 DO 11.52 10.53 DO 11.53 10.54 DO 11.54 10.55 DO 11.55 10.99 L D FCLTMP.TMP;ERASE 12,11,9,10 11.05 ERASE 10.05;D 12.05 11.06 ERASE 10.06;D 12.06 11.07 ERASE 10.07;D 12.07 11.11 ERASE 10.11;D 12.11 11.12 ERASE 10.12;D 12.12 11.13 ERASE 10.13;D 12.13 11.14 ERASE 10.14;D 12.14 11.15 ERASE 10.15;D 12.15 11.16 ERASE 10.16;D 12.16 11.17 ERASE 10.17;D 12.17 11.18 ERASE 10.18;D 12.18 11.19 ERASE 10.19;D 12.19 11.20 ERASE 10.20;D 12.20 11.21 ERASE 10.21;D 12.21 11.22 ERASE 10.22;D 12.22 11.23 ERASE 10.23;D 12.23 11.24 ERASE 10.24;D 12.24 11.25 ERASE 10.25;D 12.25 11.26 ERASE 10.26;D 12.26 11.27 ERASE 10.27;D 12.27 11.28 ERASE 10.28;D 12.28 11.29 ERASE 10.29;D 12.29 11.30 ERASE 10.30;D 12.30 11.31 ERASE 10.31;D 12.31 11.32 ERASE 10.32;D 12.32 11.33 ERASE 10.33;D 12.33 11.34 ERASE 10.34;D 12.34 11.35 ERASE 10.35;D 12.35 11.36 ERASE 10.36;D 12.36 11.37 ERASE 10.37;D 12.37 11.38 ERASE 10.38;D 12.38 11.39 ERASE 10.39;D 12.39 11.40 ERASE 10.40;D 12.40 11.41 ERASE 10.41;D 12.41 11.42 ERASE 10.42;D 12.42 11.43 ERASE 10.43;D 12.43 11.44 ERASE 10.44;D 12.44 11.45 ERASE 10.45;D 12.45 11.46 ERASE 10.46; 11.47 ERASE 10.47; 11.48 ERASE 10.48; 11.49 ERASE 10.49; 11.50 ERASE 10.50;D 12.50 11.51 ERASE 10.51;D 12.51 11.52 ERASE 10.52; 11.53 ERASE 10.53;D 12.53 11.54 ERASE 10.54;D 12.54 11.55 ERASE 10.55;D 12.55 12.05 I 4 .G??E.2;I 4 .GT.2;I 4 .LE.4;I 4 .LT.5;T!"NOW WE HAVE THE ERROR MESSAGE CHECKOUT." 12.06 T!"PLEASE COOPERATE BY FOLLOWING THE INSTRUCTIONS FOR EACH ERROR MESSAGE." 12.07 T!"IN GENERAL THE IDEA IS TO TYPE GO AFTER EACH ONE."!! 12.11 L D PLEASE:TYPE.GO 12.12 12.00 PLEASE TYPE GO. 12.13 G 82.34; PLEASE TYPE GO. 12.14 I PLEASE$ TYPE GO. 12.15 S PLEASE TYPE GO. 12.16 O O SYS:PLEASE.TYPE GO 12.17 SET 2 PLEASE TYPE GO 12.18 L C SYS:ACCT; PLEASE TYPE GO. 12.19 SET X=2+;PLEASE TYPE GO. 12.20 MODIFY 12.00 - PLEASE TYPE GO. 12.21 O O NUL:[1] - PLEASE TYPE GO. 12.22 O O NUL:[1,2 - PLEASE TYPE GO. 12.23 O O NUL:<100 - PLEASE TYPE GO. 12.24 X (, PLEASE TYPE GO 12.25 999.99 - PLEASE TYPE GO. 12.26 SET FSIN(X)=5 - PLEASE TYPE GO. 12.27 U - PLEASE TYPE GO. 12.28 O O NUL:/30 - PLEASE TYPE GO. 12.29 X +* PLEASE TYPE GO. 12.40 X 2+"A" - PLEASE TYPE GO. 12.41 Z - PLEASE TYPE GO. 12.42 O I PLEASE:TYPE.GO 12.50 T!"PLEASE TYPE SET TTY NO ECHO, START, GO."!;O I NUL:;Q 12.51 O O FCLTMP.FCL;T"S";X FCHR(127),FCHR(16);T!"O I TTY:;GO TO 10.01"!;O O TTY:;O I FCLTMP.FCL;M 11.51 12.53 T!"PLEASE TYPE RUBOUT, CONTROL-C, SET TTY ECHO, REENTER, GO."!;A X 12.55 T!"PLEASE MAKE THIS JOB RUN DETACHED UNTIL IT GOES INTO TO STATE IN 30 SECONDS."!;X FHIBER(1),FHIBER(30000);T!"THANKYOU"! 91.01 C - HERE TO COUNT AND DISPLAY THE REMAINING UNMARKED LOCATIONS. 91.02 C - FNEW FUNCTION HAS THE FOLLOWING CHARACTERISTICS: 91.03 C - ARGUMENT -1 RETURNS NUMBER OF LOCATIONS IN THE USE TABLE 91.04 C - WHICH HAVE BEEN REFERENCED IN THE SIMULATION. 91.05 C - ARGUMENT 0 RETURNS TOTAL POSSIBLE NUMBER OF REFERENCES. 91.06 C - ARGUMENT POSITIVE IS TAKEN AS A RELATIVE LOCATION IN FOCAL, 91.07 C - AND RETURNS THE NEXT UNREFERENCED LOCATION AFTER THAT. 91.15 TYPE%4!"SCORE: "FNEW(-1)" OUT OF"FNEW(0)" POSSIBLE."! 91.17 T!"HERE ARE THE LOCATIONS IN FOCAL.SHR NOT SO FAR REFERENCED."! 91.20 SET LOC=8 91.30 SET LAS=LOC,LOC=FNEW(LOC);IF FNEW(0)+8-LOC 99.99,99.99;D 92;G 91.3 92.10 IF(LOC.EQ.LAS+1);T",40";G 92.3 92.20 T!"40" 92.30 S X=LOC/4096,LAS=LOC;F J=1,4;S X=(X-FITR(X))*8;X FCHR(FITR(X)+48) 99.99 O O SIMFCL.RPT;T%4"ACCESS TEST SCORE: "FNEW(-1)" [PAR"FNEW(0)-31"] OUT OF"FNEW(0)" POSSIBLE."!;O O TTY:;T!"FINISHED"!;O I NUL:;Q T!"PLEASE TYPE CONTROL-Z, START, GO TO 1.01"!