|
|
DataMuseum.dkPresents historical artifacts from the history of: RC4000/8000/9000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC4000/8000/9000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 3840 (0xf00)
Types: TextFile
Names: »editp1«
└─⟦621cfb9a2⟧ Bits:30002817 RC8000 Dump tape fra HCØ. Detaljer om "HC8000" projekt.
└─⟦0364f57e3⟧
└─⟦this⟧ »editp1«
; 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◀