File: ARRDIR.FC of Tape: Sources/Focal/s8
(.FC,.FO Focal format converted to 'WRITE' listing)
C ACU-FOCAL12,1973 01.10 C 'ARRDIR' 1/4/74 BY W.V.D.MARK OF ACU 01.20 C PROGRAM FOR MODIFICATION OF HELP ARRAY DIRECTORY 01.25 E 01.30 A !!"IF MODIFICATION NEEDED ANSWER YES ",IF 01.40 I (-FABS(IF-0YES))1.5;S IF=8.1;G 2.1 01.50 S IF=2.1 02.05 T " ^U" 02.10 T !!"WHAT ";F I=0,30;S G(I)=0 02.13 T "KEYWORD?";S I=0 02.20 S Z=FIN()-128;I (FABS(Z-21)),2.05;I (FABS(Z-13)),1.1;I (FABS(Z-127)),2.55 02.23 I [FABS(Z-32)],2.2,2.3 02.25 S Z=FIN()-128 02.30 I (FABS(Z-21)),2.05;I (FABS(Z-13)),3.1;I (FABS(Z-127)),2.6;I (30-I)2.25 02.40 S I=I+1;S G(I)=Z 02.50 G 2.25 02.55 S I=1 02.60 T "\";S I=I-1;I (I),2.7,2.25 02.70 S Z=FOUT(223);T "DELETED";G 2.1 03.10 O A DIREC 03.20 F I=0,2;D 3.3;S D(I+1)=Z 03.25 G 3.35 03.30 S Z=G(I*3+1)+G(I*3+2)/128+G(I*3+3)/16384 03.35 S NU=FX();S N1=FITR(NU/2);S TA=0;S SW=0 03.50 I (1+SW)3.9;S TA=TA+N1;S SW=0;G 3.56 03.55 S TA=TA-N1;S SW=-1 03.56 S N1=FITR(N1/2);I (N1),3.57,3.58 03.57 S N1=1;S SW=SW-1 03.58 S T1=TA*4 03.60 I (D(1)-FX(T1+1))3.55,3.65,3.5 03.65 I (D(2)-FX(T1+2))3.55,3.7,3.5 03.70 I (D(3)-FX(T1+3))3.55,3.75,3.5 03.75 T "FOUND IT TA=",TA,! 03.80 G IF 03.90 S TA=TA+1;D 3.58;S NU=NU+1;I (1024-NU)2.1,2.1; 03.95 T "NOT THERE TA=",TA;A ? Y ?,? Z ?;S VA=Y*100+Z/100 04.10 F I=-(NU*4+3),-(T1+4);S Z=FX(-I,FX(-I-4)) 04.30 S Z=FX(T1,VA);S Z=FX(T1+1,D(1));S Z=FX(T1+2,D(2));S Z=FX(T1+3,D(3)) 04.40 S Z=FX(0,NU) 04.50 O T;G 2.1 05.01 C SUB FOR LISTING DIRECTORY 05.10 D 3.1 05.15 S NU=FX();T !,:2,"-I-",:10,"LINE",:20,"SUBLINE",:30,"KEYWORD",!! 05.20 F I=0,NU;D 5.3;D 5.4 05.25 Q 05.30 T !,%4,I,:10,%4.02,FITR(FX(I*4))/100,:20,.001+100*(FX(I*4)-FITR(FX(I*4))),:30 05.40 F J=I*4+1,I*4+3;D 5.5;D 5.6 05.50 S Z(1)=FITR(FX(J));S Z(2)=FITR((FX(J)-Z(1))*128) 05.60 S Z(3)=FITR((FX(J)*128-Z(1)*128-Z(2))*128);F K=1,3;D 6 06.05 I (-Z(K))6.1;R 06.10 I (Z(K)-32)6.5,6.15,6.15 06.15 S Z=FOUT(Z(K)+128) 06.20 R 06.50 T "^";S Z(K)=Z(K)+64;G 6.1 07.01 C SUB FOR ASSIGNING UNDEFINED KEYWORDS 07.05 S LI=7.5 07.10 D 3.1 07.15 A !"LIST ONLY UNDEFINED?",LI;I (FABS(LI-0YES))7.2;S LI=7.27 07.20 S NU=FX();T !,:2,"-I-",:10,"KEYWORD",:20,"LINE",:30,"SUBLINE" 07.25 S I=0 07.27 I (I-NU)7.3;O T;Q 07.30 S I=I+1;I (FX(I*4))7.27,7.4,7.27 07.40 T !,%4,I,:10;D 5.4 07.45 G LI 07.50 T :20;A ?Y?;T :30;A ?Z? 07.60 S Z1=FX(I*4,Y*100+Z/100) 07.70 G 7.27 08.01 C SUB (CALLED AUTOMATICALLY) FOR MODIFYING VALUES;IF Y,Z=0 THEN DELETE 08.10 S I=TA 08.20 D 7.2;T :40,"NEW LINE",:50,"NEW SUBLINE" 08.30 D 7.4 08.40 T :20,%4.02,FITR(FX(I*4))/100,:30,.001+100*(FX(I*4)-FITR(FX(I*4))) 08.50 A :40,?Y?,:50,?Z? 08.55 I (Y+Z),8.8,8.6 08.60 D 7.6 08.70 G 4.5 08.80 S NU=NU-1 08.85 F I=T1,NU*4+3;S Z=FX(I,FX(1+4)) 08.90 S Z=FX(0,NU) 08.95 G 4.5