|
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: 6144 (0x1800) Types: TextFile Names: »twriteerror«
└─⟦667bb35d6⟧ Bits:30007480 RC8000 Dump tape fra HCØ. └─⟦4334b4c0b⟧ └─⟦this⟧ »twriteerror«
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◀