|
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: »progentrytx«
└─⟦621cfb9a2⟧ Bits:30002817 RC8000 Dump tape fra HCØ. Detaljer om "HC8000" projekt. └─⟦0364f57e3⟧ └─⟦80900d603⟧ »giprocfile« └─⟦00964e8f7⟧ Bits:30007478 RC8000 Dump tape fra HCØ. └─⟦b2ec5d50f⟧ └─⟦80900d603⟧ »giprocfile« └─⟦this⟧
; prog_entry_tx * page 1 27 09 77, 13.31; ; prog_entry ; ********** if listing.yes char 10 12 10 prog_entry = set 1 prog_entry = algol external integer procedure prog_entry _____________________________________ _ (t, t_max, name); value t_max; integer t, t_max; string name; comment the procedure is designed as an aid to the problem of packing several small algol programmes on one or a few slices in order save backing storage. assume that e.g. three minor programmes p, q, rx should be packed together. the programmes are then arranged as statement cases surrounded by a block with an integer declaration. the programmes are then called as string parameters in the procedure and the integer variable is the first parameter. the second parameter is the number of programs packed, here 3; <*example: programs p, q, rx. multi entry program as follows: begin integer t; case prog_entry(t, 3, case t of (<:p:>, <:q:>, <:rx:>)) of begin <program text of p>; <program text of q>; <program text of rx>; end *> comment the name of the translated programme is designated as the <main name> and the others are called <aux name1>, aux name2> , , all <aux names> should then have catalog entries with the <main name> as their document name and with the last 5 word of their tail as the <main name> tail; <* example of fp comm: let q be <main name>, and p and rx <aux namees> fp-comm: z = assign q ; convenient work name if q were a long name p = entry bs q z z z z z rx = entry bs q z z z z z possible scope comm may follow*> \f comment prog_entry_tx * page 2 27 09 77, 13.31 0 1 2 3 4 5 6 7 8 9 ; comment then main name prog_entry (return) integer the value of t when name is the same as the prog_name in the fp-command activating the programme. if no matching name is found a system(9 - alarm with the string <:progentr:>is given. t (call) integer the controlled variable in a jensen device using call by name of then string name. t steps from 1 to t_max. t_max (call) integer the upper limit of the value of t. name (call) string the name/names of the candidate entry/entries. the actual call is case t of (name1, name2, ... nametmax) ; begin integer i; array prog_name, comp_name(1:2); comment look for prog name after =; i := system(4, 1, prog_name); comment look for prog name first; if i shift (-12) <> 6 then i := system(4, 0, prog_name); comment alarm for strange param, alarm value = 0; if i extract 12 <> 10 then system(9)alarm:(0, <:<10>progentr:>); i := 0; comment compare names; for t := 1 step 1 until tmax do begin comp_name(1) := comp_name(2) := real <::>; if move_string_1(comp_name, 1, name) < 0 then system(9)alarm:(t, <:<10>progentr:>); <*alarm value = t*> if prog_name(1) = comp_name(1) and prog_name(2) = comp_name(2) then begin prog_entry := i := t; t := t_max; end; end t-loop; if i = 0 then system(9)alarm:(-1, <:<10>progentr:>); end prog_entry; end if warning.yes (mode 0.yes message prog_entry not ok lookup prog_entry) ▶EOF◀