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

⟦f5bd8202f⟧ TextFile

    Length: 6144 (0x1800)
    Types: TextFile
    Names: »twriteerror«

Derivation

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

TextFile

write error messages 1982.03.29
Anders Lindgård
:1: error messages: trim variable
integer size_error_message;
:2: error message: initialize trim
size_error_message:=200;
:4: error message: global variables and procedures;
algol list.on;
long array error_texts(1:sizeerrormessage);
long array field error_ready,error_syntax,error_not_allowed,
     error_no_core,
     error_no_buffers,error_no_areas,error_no_internals,
     error_process_unknown,error_process_exists,
     error_catalog_error,error_area_unknown,
     error_area_reserved,error_program_too_big,
     error_area_error,error_device_unknown,
     error_device_reserved,error_not_implemented,
     error_bs_claims_exceeded,error_bs_device_unknown,
     error_name_unknown,error_no_entries_in_maincat,
     error_illegal_priority,error_program_name_unknown,
     error_name_conflict,
     error_result_impossible,error_job_file_unknown,
     error_job_number_not_found;

procedure init_error_text(e);
long array e;
begin
integer array field p,max_error;
integer i,j;
integer array f(1:sizeerrormessage);
array field t;
long array field lf;
<* an error record lookup like this:
   +0 param(1)
   +2 param(2)
   +4 param(3)
   +6 error text

where the value of param indicates:
 param(i)=<=0 dummy
          1 integer
          >1 reference to a text
*>

for i:=1 step 1 until size_error_message do e(i):=0;

j:=1;
i:=t:=f(j):=error_ready:=6;                   j:=j+1; p:=i-6; 
  e.p(1):=e.p(2):=e.p(3):=-1; movestring(e.t,1,<:ready:>);
i:=t:=f(j):=error_syntax:=12+i;              j:=j+1; p:=i-6; 
  e.p(1):=e.p(2):=e.p(3):=-1; movestring(e.t,1,<:***syntax:>);
i:=t:=f(j):=error_not_allowed:=16+i;         j:=j+1; p:=i-6; 
  e.p(1):=e.p(2):=e.p(3):=-1; movestring(e.t,1,<:not allowed:>);
i:=t:=f(j):=error_no_core:=16+i;             j:=j+1; p:=i-6; 
  e.p(1):=e.p(2):=e.p(3):=-1; movestring(e.t,1,<:no core:>);
i:=t:=f(j):=error_no_buffers:=16+i;          j:=j+1; p:=i-6; 
  e.p(1):=1;e.p(2):=e.p(3):=-1; movestring(e.t,1,<:no buffers:>);
i:=t:=f(j):=error_no_areas:=16+i;            j:=j+1; p:=i-6;
  e.p(1):=-1;e.p(2):=1;e.p(3):=-1; movestring(e.t,1,<:no areas:>);
i:=t:=f(j):=error_no_internals:=16+i;        j:=j+1; p:=i-6; 
  e.p(1):=e.p(2):=-1;e.p(3):=1; movestring(e.t,1,<:no internals:>);
i:=t:=f(j):=error_process_unknown:=16+i;      j:=j+1; p:=i-6; 
  e.p(1):=e.p(2):=e.p(3):=-1; movestring(e.t,1,<:process unknown:>);
i:=t:=f(j):=error_process_exists:=20+i;       j:=j+1; p:=i-6; 
  e.p(1):=e.p(2):=e.p(3):=-1; movestring(e.t,1,<:process exists:>);
i:=t:=f(j):=error_catalog_error:=20+i;        j:=j+1; p:=i-6; 
  e.p(1):=e.p(2):=e.p(3):=-1; movestring(e.t,1,<:catalog error:>);
i:=t:=f(j):=error_area_unknown:=20+i;         j:=j+1; p:=i-6; 
  e.p(1):=e.p(2):=e.p(3):=-1; movestring(e.t,1,<:area unknown:>);
i:=t:=f(j):=error_area_reserved:=16+i;        j:=j+1; p:=i-6; 
  e.p(1):=e.p(2):=e.p(3):=-1; movestring(e.t,1,<:area reserved:>);
i:=t:=f(j):=error_program_too_big:=20+i;      j:=j+1; p:=i-6; 
  e.p(1):=e.p(2):=e.p(3):=-1; movestring(e.t,1,<:program too big:>);
i:=t:=f(j):=error_area_error:=20+i;           j:=j+1; p:=i-6; 
  e.p(1):=e.p(2):=e.p(3):=-1; movestring(e.t,1,<:area error:>);
i:=t:=f(j):=error_device_unknown:=16+i;       j:=j+1; p:=i-6; 
  e.p(1):=e.p(2):=e.p(3):=-1; movestring(e.t,1,<:device unknown:>);
i:=t:=f(j):=error_device_reserved:=20+i;      j:=j+1; p:=i-6; 
  e.p(1):=e.p(2):=e.p(3):=-1; movestring(e.t,1,<:device reserved:>);
i:=t:=f(j):=error_not_implemented:=20+i;      j:=j+1; p:=i-6; 
  e.p(1):=e.p(2):=e.p(3):=-1; movestring(e.t,1,<:not implemented:>);
i:=t:=f(j):=error_bs_claims_exceeded:=20+i;   j:=j+1; p:=i-6; 
  e.p(1):=e.p(2):=e.p(3):=-1; movestring(e.t,1,<:bs claims exceded:>);
i:=t:=f(j):=error_bs_device_unknown:=20+i;    j:=j+1; p:=i-6; 
  e.p(1):=e.p(2):=e.p(3):=-1; movestring(e.t,1,<:bs device unknown:>);
i:=t:=f(j):=error_name_unknown:=20+i;         j:=j+1; p:=i-6; 
  e.p(1):=e.p(2):=e.p(3):=-1; movestring(e.t,1,<:name unknown:>);
i:=t:=f(j):=error_no_entries_in_maincat:=20+i;j:=j+1; p:=i-6; 
  e.p(1):=e.p(2):=e.p(3):=-1; movestring(e.t,1,<:no entries in main catalog:>);
i:=t:=f(j):=error_illegal_priority:=32+i;     j:=j+1; p:=i-6; 
  e.p(1):=e.p(2):=e.p(3):=-1; movestring(e.t,1,<:illegal priority:>);
i:=t:=f(j):=error_program_name_unknown:=20+i; j:=j+1; p:=i-6; 
  e.p(1):=e.p(2):=e.p(3):=-1; movestring(e.t,1,<:progran name unknown:>);
i:=t:=f(j):=error_name_conflict:=i+28;        j:=j+1; p:=i-6;
  e.p(1):=e.p(2):=e.p(3):=-1; movestring(e.t,1,<:name conflict:>);
i:=t:=f(j):=error_result_impossible:=i+24;    j:=j+1; p:=i-6; 
  e.p(1):=e.p(2):=e.p(3):=-1; movestring(e.t,1,<:result impossible:>);
i:=t:=f(j):=error_job_file_unknown:=i+20;     j:=j+1; p:=i-6;
  e.p(1):=e.p(2):=e.p(3):=-1; movestring(e.t,1,<:job file unknown:>);
i:=t:=f(j):=error_job_number_not_found:=i+20; j:=j+1; p:=i-6;
  e.p(1):=e.p(2):=e.p(3):=-1; movestring(e.t,1,<:job number not found:>);
<*+2*>
if testop(6) then
begin
  write(out,"nl",1,<:initerror: size:>,(t+20)//4+1);

  for i:=1 step 1 until j-1 do
  begin
    lf:=f(i);
    write(out,"nl",1,i,"sp",1,true,30,e.lf);
end;
write(out,"nl",2);
outendcur(0);
end;
<*-2*>
end init error;

procedure writeerror(z,error,auxerror);
long array field error;
zone z;
integer array auxerror;
begin
long array field lf;
integer array field p;
p:=error-6;
write(z,errortexts.error);
if error=error_bs_claims_exceeded then
begin
  for i:=1 step 1 until no_of_bs do
  begin
  if auxerror(i)>0 then
  begin
    lf:=i*12-12;
    write(z,"nl",1,"sp",2,true,7,usercatbs.lf);
  end;
  end for;
end error=bsclaim else
begin
for i:=1,2,3 do
begin
if errortexts.p(i)>0 then
begin
  if errortexts.p(i)=1 then write(z,auxerror(i)) else
  begin
    lf:=errortexts.p(i);
    write(z,"sp",1,auxerror.lf);
  end text;
end param;
end for;
end error<>bs;
end write error;
algol list.off;
:5: error messages program
init_error_text(errortexts);
▶EOF◀