|
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◀