DataMuseum.dk

Presents historical artifacts from the history of:

RC4000/8000/9000

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RC4000/8000/9000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦5970a1786⟧ TextFile

    Length: 2304 (0x900)
    Types: TextFile
    Names: »wettxt«

Derivation

└─⟦667bb35d6⟧ Bits:30007480 RC8000 Dump tape fra HCØ.
    └─⟦4334b4c0b⟧ 
        └─⟦this⟧ »wettxt« 

TextFile

wet=set 50
wet=algol
program for printing of text with upper and lower indices.
lowindex: # <35>,ctr q <17>   highindex: $ <36>,ctr r <18>
call: <objectfile>=wet <sourcefile> <fpparam>(0,n)
fpparam: mode.1  ld.1  nl2.130
04 08 81 11 30 00
begin
     integer i,m,u,l,nc,mc,uc,lc,mode,il,nl1,nl2,ld;
     real array field raf;
     integer array I,L,M,U(1:100);
     long array IFILE,OFILE(1:3);
     zone zi,zo(128,1,stderror);
     raf:= 0;
     cleararray(IFILE); readinfp(IFILE.raf,1);
     open(zi,4,IFILE,0);
     cleararray(OFILE); readlsfp(OFILE.raf);
     open(zo,4,OFILE,0);
     mode:= 1; readifp(<:mode:>,mode);
     nl1:= 10000; nl2:= 130; readifp(<:nl2:>,nl2);
     ld:= 1; readifp(<:ld:>,ld);
     if mode>1 then write(out,false add 12,1);
     nc:= 0; lc:= uc:= 0; il:= 0;
     for i:= 0,i while I(nc+1)<>25 do
     begin lc:= uc:= 0;
     for i:= 0,i while I(i)<>10 and I(i)<>25 do
     begin i:= i+1; readchar(zi,I(i)); end;
     nc:= i-1;
     for i:= 1 step 1 until 100 do L(i):= M(i):= U(i):= 32;
     i:= 0; u:= m:= l:= 1;
     for i:= i+1 while i<=nc do
     if I(i)=35 or I(i)=17 then
        begin i:= i+1; L(l):= I(i); lc:= l; l:= l+1 end
        else if I(i)=36 or I(i)=18 then
        begin i:= i+1; U(u):= I(i); uc:= u; u:= u+1 end
        else begin m:= if l>u then l else u;
           M(m):= I(i); u:= l:= m:= m+1;
        end;
     mc:= m-1;
     if uc>0 or mode>1 then
     write(out,case mode of(<:<10>:>,<:<13><27>U:>));
     for i:= 1 step 1 until uc do write(out,false add U(i),1);
     write(out,case mode of(<:<10>:>,<:<13><27>U:>));
     for i:= 1 step 1 until mc do write(out,false add M(i),1);
     if lc>0 or mode>1 then 
     write(out,case mode of(<:<10>:>,<:<13><27>U:>));
     for i:= 1 step 1 until lc do write(out,false add L(i),1);
     for i:= 1 step 1 until ld-1 do
     write(out,case mode of(<:<10>:>,<:<13><27>U:>));
     case mode of begin il:= il+1; il:= il+2+ld end;
     if il>(case mode of(nl1,nl2)) then
     begin write(out,false add 12,1); il:= 0 end;
     end line;
     if mode>1 then write(out,false add 12,1);
     close(zi,true); close(zo,true);
end
▶EOF◀