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

⟦9926c6991⟧ TextFile

    Length: 3840 (0xf00)
    Types: TextFile
    Names: »editp1«

Derivation

└─⟦621cfb9a2⟧ Bits:30002817 RC8000 Dump tape fra HCØ.  Detaljer om "HC8000" projekt.
    └─⟦0364f57e3⟧ 
        └─⟦this⟧ »editp1« 

TextFile

; edit of pass 1 of RC pascal 
tnpascal=edit tpascal
l./version=/,r/pascalv/pascal hcø v/,
r/1980.06.17/1983.1.27/,
l./hashmax=200/,r/200/350/,
l./environment:text/,l1,
i/
envname,pass2name,newinputname,inputname: alfa;
instacked: integer;
/,l./packstructure=0/,l1,i/
envname     ='pascalenv   ';
pass2name   ='pascalpass2 ';
inputname   ='            ';
newinputname='            ';
instacked   =0;
/,
l./'pascalenv'/,r/'pascalenv'/envname/,
l./'survey'/,l1,i/
hum   ='human       ';
env   ='env         ';
pass2 ='pass2       ';
/,
l./param:/,r/)/,humaninfo,envinfo,pass2info)/,
l./reset(input)/,i/
inputname:=sourcefilename;
/,
l./ifa=survey/,l1,i/
else if a=hum   then param:=humaninfo
else if a=env   then param:=envinfo
else if a=pass2 then param:=pass2info
/,l./surveyinfo:/,l3,i/
humaninfo: if length<>10 then error
else if a=yes then outputmode:=human
else if a<>no then error;
envinfo: if length<>10 then error
else envname:=a;
pass2info: if length<>10 then error
else pass2name:=a;
/,
l./'pascalenv'/,r/'pascalenv'/envname/,
l./urestandardparam/,
l./='CLOSE'/,
l./'MONITOR'/,l-1,
i/
if (procfuncname='FIRSTADDRESS') or
   (procfuncname='SENDMESSAGE ')  or
   (procfuncname='WAITANSWER  ')   or
   (procfuncname='WAITMESSAGE ')  or
   (procfuncname='SENDANSWER  ')   or
   (procfuncname='CREATEINTERN') or
   (procfuncname='MODIFYINTERN') then
 begin
 (* do nothing *)
end
else
/,
l./(*standardparam*)/,
l./911:/,
l./if(namestr/,r/then/and
   (namestr<>'MONITORMODE ') and (namestr<>'UNSTACKCURI ') then/,
l./procedurereadline/,
l./ifeof(input)/,r/then/then
begin
  if instacked=0 then /,
r/;/ else
  begin
      unstackcuri;  
    instacked:=instacked-1;
    write(linenumber:5,' ');
    if locallinenumber<0 then write(' ':4) else
    write(locallinenumber:4);
    writeln(' ',newinputname,' end medium');
    newinputname:=blank;
  end (* instacked>0*)
end (* eof *);/,
l./procedureskipcomment/,
l./:integer/,r/:/,i,res:/,
i/
legal: boolean;
tail : array Æ1..10Å of integer;
/,
l./whilechinÆ/,
l-1,
l./$/,g1/'l'/'i','l'/,
l./begin/,l1,i/
if ch='i' then begin
i:=1;newinputname:=blank;inchar;
while ch=' ' do inchar;
legal:=true;
while legal do
begin
  if (ch in Æ'a'..'å'Å) or ((i>1) and (ch in Æ'0'..'9'Å)) then
  begin
    newinputnameÆiÅ:=ch;i:=i+1;
    if input^<>'*' then inchar;
  end else legal:=false;
end;
if (i<12) and (i>1) then
begin
  oldch:='*';res:=monitor(42,newinputname,tail);
  if false then writeln('::: ',res,' lookup ',newinputname);
  if (res=0) and (tailÆ1Å>0) and (tailÆ9Å=0) then
  begin
   (* res:=connectcuri(newinputname);*)
    if false then writeln('::: ',res,' connect ',newinputname);
    if res<>0 then markerror(143) else
    begin
      instacked:=instacked+1;
      reset(input);
      if not printed then printline;
      writeln(newinputname);
      write(linenumber:5);
      if locallinenumber<0 then write(' ':5) else
      write(locallinenumber:5);
      writeln(' pascal       input.',newinputname);
    end  (* connect ok *);
  end (* lookup ok *) else markerror(143);
end (* string is an alfa *) else markerror(143);
end (* copy *) else
begin
/,
l./'l-'/,
l./markerror/,
l1,i/
end (* other options *)
/,
l./replace('pascalpass2'/,
r/'pascalpass2'/pass2name/,
r//if (outputmode<>human) and (pass2name<>'no') then /,
f
▶EOF◀