This section gives detailed descriptions of all the facilities in the TASK macro.
Whilst most usage of TASK will be relatively simple it is unfortunately necessary to give strict definitions of the various features in order to define the more complex facilities. A basic understanding of the previous sections is assumed.
The TASK macro, as its name implies, does various tasks. A task can be anything from a complete compilation, consolidation and run of a binary program to the simple loading and running of a previously saved binary program. The macro will do one or more tasks in one activation or call and the parameters for each task are delimited by the word TASK or the end of the parameter list. There is no connection between the parameters of one task and those of another task except in very special cases. For example, a simple usage is:-
TASK FORTRAN,*CR FRED
where only one task is being done. To add on a second task the sequence could be:-
TASK FORTRAN,*CR FRED,TASK PLASYD,*CR JIM
where the second TASK shows the end of the parameters for the first and the beginning for the second task. Further tasks may be included, for example:-
TASK FORTRAN,*CR FRED,TASK PLASYD,*CR JIM,TASK FORTRAN,*CR JOHN
where three tasks are being done.
Various parameters determine where the task should commence in the compilation, consolidation and run binary program process (eg FORTRAN or RUN) and others define how a task should end (eg NOCONS or NORUN). The latter type of parameter are called endtask parameters and the absence of an endtask parameter means the task will continue until an error is found or the binary program is run.
After completing a task, the system then commences the next task if any, and when it has completed all tasks it then does an endcall in a manner dictated by the presence or absence of various parameters.
Below is given a brief summary of the parameters grouped under the appropriate sections of compilation, consolidation and run binary program. Parameters may be given in full or in some cases they can be truncated down to the minimum number of characters shown in brackets. If the parameter name is truncated, it must be followed by a space if the parameter has an argument.
ALGOL (1) defines language being compiled FORTRAN (1) defines language being compiled PLAN (4) defines language being compiled PLASYD (4) defines language being compiled *CR filename card source file *CR/ATLAS/ filename card source file in ATLAS code (FORTRAN only) *CR/EBCDIC/ filename card source file in EBCDIC code (FORTRAN only) *TR filename paper tape source file *TR/FULLMODE/ filename paper tape FULL MODE (ALGOL only)
All above are repeatable and considered by TASK in the order given.
Note for / / types, only the first character is significant and the remainder are optional.
Any above without filename - online source file.
*LP compiler output to monitoring file *LP filename compiler output to filename COMP (2) semi-compiled output to default filename COMP dafilename semi-compiled output to dafilename NOCONS (3) endtask after compiling NOCONS endstring endtask after compiling by executing endstring OPT (1) use optimising compiler (FORTRAN only) PD use default Program Description/Compiler steering parameters (PLAN only) PD filename obtain Program Description from filename (FORTRAN and PLAN only) *?? string obey string as a GEORGE command where string contains no commas. *?? (string) as above but string may contain commas
SEMI dafilename (2) semi-compiled file to be used in consolidation (repeatable) LIB dafilename semi-compiled file searched as library at consolidation (repeatable) CONS (3) non standard consolidation parameters read online CONS filename non standard consolidation parameters read from filename OVERLAY (2) consolidate an overlay program to default filename OVERLAY dafilename consolidate an overlay program to dafilename LINK (3) causes consolidation of all previously generated semi-compiled workfiles and any files named in SEMI or LIB parameters in the current task LINK filename as above but filename contains LIB and SEMI parameters which are to be included in the consolidation SLINK (2) as LINK parameter but consolidation does not include previously SLINK filename generated semi-compiled workfiles DENSE (3) consolidate using LINK to dense binary program NORUN (3) endtask after consolidation NORUN endstring endtask after consolidation by executing SAVE (2) save binary into default filename SAVE filename save binary into filename SV (2) alternate form of SAVE SV filename alternate form of SAVE filename BIN (1) write binary into default filename BIN filename write binary into dafilename
#xxn filename assign filename to peripheral type xx on GEORGE channel n, where xx is any standard ICL peripheral code eg CR, LP, TP etc. If n is omitted, zero is assumed #xxn online peripheral type xx to GEORGE channel n #DAn filename assigns filestore DA files and onlines exofiles #?? string obey string as a GEORGE command where string contains no commas #?? (string) as above but string may contain commas MAC (1) obey default macro MAC endstring endtask by executing endstring after assigning peripherals to binary program TI time time limit for binary program run RUN filename (2) run the binary program in filename
JT time jobtime for entire job (including all tasks) MZ number maxsize of virtual core used (usually for FORTRAN compiler) MON (2) retain monitoring file to default filename which must be a local filename MON local filename retain monitoring file to local filename KEEP (1) retain monitoring file, compilation output and binary program run output (LP0 only) into default filenames unless otherwise specified string? ignore this parameter (not allowed with MZ, MEDIA or JT parameters) ?string ignore this parameter (not allowed with MZ, MEDIA or JT parameters) DEFAULT string (2) overrides system generated default filename base by string ER endcall if error found ER endstring endcall if error found by executing endstring CONT ignore non fatal errors EXIT (2) endcall by doing a GEORGE 'EXIT' instead of 'ENDJOB' EXIT endstring endcall by executing endstring DY string change directory to string STEER (2) obtain TASK parameters from jobsource STEER filename obtain TASK parameters from filename NOLIST (3) suppress listing to lineprinter of LP0 output and monitor file NOLIST string selective suppression of listing depending on string PR string (2) list LP0 and monitor file to lineprinter having property string MEDIA (string) define MT and DA on-line peripherals which the call requires (parameter,parameter,...) parameters for one task may be grouped together TASK (2) delimits the parameters of different tasks and can TASK parameter optionally be followed by any parameter
Although referred to as a macro, TASK does the bulk of its work in a program which deals with all parameters except the MZ, JT and MEDIA. This allows greater flexibility in the facilities of TASK and also gives a much more efficient system for running work on the 1906A.
One such facility is the ability to truncate parameters down to the minimum given in the summary of parameters provided any argument is separated by a space, eg SEMI FRED-SEM can be truncated to SE FRED-SEM, COMP can go to CO, FORTRAN to F and so on. Mis-spelling of parameters is not catered for and any parameter a user wishes TASK to ignore must begin or end with a ?. Parameters are read serially, their order being unimportant unless stated in the specification, until the parameter TASK (actual or implied) - see TASK parameter definition - or a null parameter is read. Users who wish TASK to ignore any parameters (ie which are for use after TASK has finished) can have them following the TASK parameters, separated by a null parameter (ie ,,). TASK processes the first task, and then if the delimiter for the parameters was TASK, it commences to read further parameters from that point, and processes further tasks until a null parameter is read.
Parameters are unique to a task except for JT, MZ, MEDIA, PR and LINK. The first three are accessed by GEORGE and must be present in the first task and be sufficient for the total call. LINK is unique in that it permits the system to remember the semi-compiled workfiles created in preceding tasks. The maximum number of parameters in the macro activation is fifteen.
Parameters may also be read from a named file by use of the STEER parameter. Since these parameters are not available to the macro, JT, MZ and MEDIA are not allowed from this source. Any number of tasks and parameters is allowed and TASK switches back to reading parameters from the macro when a blank line or **** is encountered.
When a user repeats a parameter that is not repeatable, TASK ignores the second and subsequent occurrences and does not flag an error. This enables users to override parameters in a STEER file by putting them in the macro parameters before a STEER parameter.
Having read the parameters for a task, and listed them in the monitoring file, TASK then sets up any default filenames, outputs to the monitoring file that it has done so, retrieves all files that should exist (note: named output files are created and trapped as necessary by TASK) and then checks for errors in this stage and unless the CONT parameter is present, does an endtask if it finds any.
If all is well, TASK then commences at the point in the compilation / consolidation / run binary program process indicated by the parameters (eg FORTRAN, RUN, etc). For compilation it sets the semi-compiled output file (if the user has supplied a named file, this is created for him if it does not exist), and the lineprinter output files, loads the compiler and compiles the first source file. Should the compiler require further source files, TASK connects these as specified by the user (eg by additional *CR parameters) and carries on compilation.
A failed compilation or a NOCONS parameter causes an endtask.
Consolidation normally follows successful compilation or can be Commenced by the CONS parameter without a language, and is done either according to compiler generated information or b> automatic linking of semi-compiled by the LINK parameter or by user-supplied parameters via the CONS parameter. If compilation is successful the binary can be kept in the filestore by the SAVE parameter.
A consolidation failure or a NORUN parameter causes an endtask, and in the latter the binary is left in core ready to run. If consolidation is successful or if a binary program run is initialised by the RUN parameter, TASK loads the binary program, assigns LP0 and default CR0 files, if they have not been specified by the user, and any other specified peripherals (via #xx parameter). If a MAC parameter is present, an endtask is done, the binary being left in core ready to run, otherwise TASK runs the binary and then does an endtask.
At each endtask via a parameter (eg NOCONS, NORUN or MAC) without an argument or at the end of a binary program run, TASK commences the next task, if any. If no more tasks exist then an endcall is done by doing a GEORGE 'ENDJOB' for MOP jobs or an 'EXIT' for background jobs. These can be overridden by MON or EXIT parameters. MON causes a GEORGE 'ENDJOB' and retains the monitoring file in the filestore and EXIT on its own causes a GEORGE 'EXIT' from the TASK macro.
For cases where NOCONS, NORUN, MAC (and also EXIT and ER) are given arguments (endstring in the definitions), TASK takes appropriate action. If endstring commences with a digit TASK does a GOTO endstring. If it is enclosed in brackets endstring is executed as a GEORGE command and otherwise it is OBEYed as a macro. Note that a user must exit from a macro call back into TASK if any further tasks are to be done. A user leaving TASK in any other manner cannot process any more tasks.
If an endtask is done due to an error (ie compilation failure), TASK checks for an ER parameter and executes it if one is found in the manner indicated above. If ER has no argument or if control returns to TASK where ER has an argument, then TASK forces an endcall and ignores any further tasks. A binary program run is deemed to have ended in error if it does not HALT AH or HH, or DELETE OK or 00 which are the correct endings for the binary program from the various ICL compilers.
TASK attempts to provide a more readable monitoring file by inserting comments about which section of the compilation, consolidation, or binary program run it is currently in. As TASK does all the analysing of parameters internally it need only issue GEORGE commands to access the filestore and to do its own external housekeeping. These can sometimes generate command errors which TASK will attempt to overcome (ie file traps not open) but in cases of fatal errors an endtask will be done. In order to find as many errors as possible in a run, the occurrence of errors is checked at intervals and an early error can cause spurious errors later, which are related to the initial error(s).
TASK attempts to inform the user of everything it assumes and all default filenames that it generates are noted in the monitoring file. Broadcasts are also made to MOP users about the outcome of their tasks.
The program used by TASK has two normal exits, HALTED LD or DELETED **. It also gives occasional displays which all start with a * and should be ignored. All other displays are done by the compiler, consolidator or user binary program and have the meanings as given in ICL documentation. TASK in some instances amplifies these by a message.
Should any displays or halts beginning with a ! occur, then these are TASK internal (and often fatal) errors. In such cases, if TASK crashes, a postmortem is taken and the monitoring file and all other output should be returned via the 1906A Fault Reporting service for the error to be rectified.
On the following pages is a complete description of all the parameters TASK will accept, arranged in alphabetical order, * and # being last. Users are referred to the previous sections for a fuller description of the relationships between various parameters and the finer points of their usage.
Compiler XALH is used to compile ALGOL from sources specified by the *CR or *TR parameters. Full mode paper tape can be used by specifying it via the *TR parameter. PMD is not implemented, neither is semi-compiled input.
If the compiler reaches the end of the sourcefile, either by reading off the end (NOT recommended) or by reading **** or //// before the 'BEGIN's and 'END's all match, the next sourcefile in the parameter list will be assigned and compilation continued. When no more sourcefiles exist a FINISH will be simulated.
The normal compilation failure ZZ, causes an endtask as do any other non-standard compiler exits.
The successful compilation of a program will call the consolidator unless a NOCONS parameter is present. Successful compilation of segments (DISPLAY EC) will assume a NOCONS parameter unless a LINK or CONS parameter is present. The library used is SRA4.
TASK ALGOL,*CR FRED Source in card file TASK ALGOL,*TR FREDP Source in paper tape file TASK ALGOL,*TR/F/ FREDF Source in full mode paper tape file
The above will compile, consolidate and run the binary program if no error occurs.
Write binary program into default filename eg FEED-BIN. If a file of this name already exists, it will be overwritten.
This should only be used where a binary is required in Standard 1900 direct access binary format. The program must contain a DUMP ON statement in the Program Description, or be consolidated with a consolidator parameter *OUT or be LINKed by TASK.
Users are recommended to use the SAVE parameter instead of BIN as the binary produced is more compact and easier to generate. A binary produced by a BIN parameter is acceptable to the RUN parameter.
TASK F, *CR FRED,BIN
Compile and consolidate binary of program FRED into FRED-BIN. The binary is then loaded and run. FRED contains a DUMP ON statement in the Program Description.
TASK F, *CR FRED,BIN FREDBINARY, LINK
As above, but consolidation is done using the LINK system which ignores the consolidation directives in the Program Description. The binary is written to FREDBINARY.
TASK F,*CR FRED Semi-compiled goes to workfile TASK F,*CR FRED,COMP Semi-compiled goes to FRED-SEM TASK F,*CR FRED,COMP SEM Semi-compiled goes to file SEM TASK F,*CR FRED,COMP (76,SEMI) Semi-compiled goes to exofile on disc pack 76
Do parameter driven consolidation.
CONS SEMI S1 TASK steering parameters SEMI S2 NORUN SAVE BIN *LIST *IN(A) Consolidator parameters *IN(B) *LIB(C) ****which can be called by TASK STEER CONSFILE and consolidation will be done according to the parameters following the TASK parameters. Consolidation would include S1 and S2 and the FORTRAN library SRF8 (which is connected automatically in a freestanding consolidation).
TASK CONS,SEMI S1,SEMI S2,LINK,NORUN,SAVE SBINor if S1 was to be regenerated from S1 SOURCE by:-
TASK F,*CR S1SOURCE,COMP S1,SEMI S2,LINK, NORUN,SAVE SBIN
*LIST *IN(A) *IN(B) *LIB(C) ****The consolidation of S1 and S2 could be done by:-
TASK CONS CONSFILE,SEMI SI,SEMI S2,NORUN,- SAVE SBINor if S1 was to be regenerated from S1SOURCE by:-
TASK F,*CR S1SOURCE,COMP S1,SEMI S2,CONS - CONSFILE,NORUN,SAVE SBIN
Carry on despite nonfatal errors.
Specifies the default base
TASK call default base TASK F,*CR FRED FRED TASK RUN FRED-BIN FRED TASK STEER FREDSTEER1 FRED and FREDSTEER1 contains: C F C *CRFRED C SAVE C NORUN **** TASK STEER FREDSTEER2 FREDSTEEwhere FREDSTEER2 contains:
C F C *CR C SAVE C NORUN MASTER ABCD ........... FORTRAN program ....... FINISH **** TASK F,*CR NO-NAME MASTER ABCD .......... FORTRAN program ........... FINISH ****where the above is a background job
TASK F,*CR FRED,DEFAULT JIM JIMwhere DEFAULT is used to override the normal default.
Consolidate a dense (as opposed to sparse) program when using LINK. This is only necessary in very special cases where a 22AM/EBM program is required to be dense code.
TASK F, *CR FRED,DENSE,LINK Consolidate FRED as a dense program.
Defines filestore directory.
TASK F,*CR FRED,DY iFREDDIRwhere the user called TASK from a different directory to that containing FRED, and its datafile FRED-DAT.
RJ MOPUSER,:USER,TASK F,*CR FRED,DY :FREDDIRAs above but illustrating the RUNJOB user of DY command, where :FREDDIR is a pseudo user.
TASK PLAS,*CR PI,COMP,NOC,TASK F,*CR FI,DY :FIDIR,SEMI :PIDIR.PI-SEMThe user calls TASK in :PIDIR and gets semi-compiled PI-SEM, then switches directions to :FIDIR, and compiles and consolidates FI with PI-SEM now referenced back to directory :PIDIR.
TASK STEER :USER.FILEFull directory filename for STEER file given so user can change directories in FILE.
Defines the action to be taken in case of error.
JOB JOBNAME,:USER TASK F,*CR,ER 1ER ... FORTRAN program ..... 1ER EJ ****would be used in a background job to jump to label 1ER in case of error to avoid obeying the program as GEORGE commands.
TASK F,*CR FRED,SAVE,ER,TASK RUN FRED-BIN,#CR FRED-DAT1Fred is compiled, saved in to binary program FRED-BIN and then run with default datafile FRED-DAT. The second task uses the same binary with FRED-DAT I as data. Had a compilation error occurred then the second task would have been ignored.
Do an EXIT from a call of TASK.
JOB JOBNAME,:USER TASK F,*CR,NORUN,EXIT 10K,ER 1ER .... 10K .... 1ER .... ****The background job above exits to label 10K if the compilation is successful and 1ER if not.
Compile a FORTRAN program.
PROGRAM (FORT) INPUT 1,5=CR0 OUTPUT 2,6=LP0 ENDis provided.
TASK FORTRAN,*CR FRED,*CR/A/ FRED1,*CR/E/ FRED2,*CR FRED3Compile, consolidate and run the binary program from the compilation of FRED, FRED1, FRED2 and FRED3, of which FRED1 is in ATLAS card code, FRED2 is in EBCDIC card code and FRED and FRED3 are in 1900 card code. The first three files must not contain a FINISH and should preferably end with either **** or ////.
This specifies the jobtime for the whole TASK call. This must be sufficient for the time given to binaries (eg compilers and binary programs) and also the overheads on TASK and GEORGE. Users are warned that excessive filestore usage can incur a very heavy overhead and the jobtime consumed will be out of all proportion to the milltime clocked by the binary. If the job exceeds the jobtime, it will be abandoned by GEORGE.
number (same as number SECS) number SECS number MINSNote the plural for SECS etc is always required.
JT 50 JT 50SECS JT 5MINS TASK JT5MINS,STEER Swhere S contains STEERING parameters which can include more than one task.
TASK F,*CR FRED,JT 60,TI 20Compilation time allowed is 35 sees, binary run time is 20 sees.
TASK RUN FRED-BIN,JT 60,TI 55Binary run time is 55 sees and jobtime is 60 sees.
TASK F,*CR FRED,JT 1MINS,TASK F,*CR JIMThe total compilation and binary run rime of FRED and JIM must not exceed 1MINS (Note the plural).
This parameter is intended for remote users and KEEPs all the output from a job in the filestore. Listing is done as normal to the line-printers unless a NOLIST parameter is present.
*LP default base-OUT #LP0 default base-RES MON default base-MONNote the presence of any of these parameters will override the KEEP default. Users are warned that as this uses default filenames, repeated runs of the same program will overwrite previous output. This can be useful where the previous runs had, say, compilation errors but when production results are required to be kept in the filestore from several runs then these will overwrite previous results. This can be overcome by either:-
TASK F,*CR FRED,KEEPCompiler output to FRED-OUT, binary LP0 results to FRED-RES and monitor file to FRED-MON. All files are listed on the lineprinters.
TASK F,*CR FRED,KEEP,DEF JIM,#CR FRED-DATAs above but output now to JIM-OUT, JIM-RES and JIM-MON. Note the #CR parameter as the default datafile is JIM-DAT.
TASK F,*CR FRED,KEEP,#LP OUTAs first example but binary results to OUT.
Consolidate all semi-compiled files.
TASK PLAS,*CR P1,NOCON,ER,TASK F,*CR E2,- LINK,SAVE PBINThis compiles the PLASYD P1 in the first task, and in the second task compiles the FORTRAN in P2, then consolidates both together, along with the FORTRAN library saves the binary to PBIN and then runs it. Note the ER parameter to abort the call if a compilation error occurs in P1.
TASK FORTRAN,*CR JIM,COMP JIM-SEM,LINK,- SEMI FRED-SEM,SEMI JIM-SEM,LIB(26,NAGLIBF),- SAVE BIN,NORUNwhere FRED-SEM is consolidated before JIM-SEM with routines from the NAGLIBF and FORTRAN libraries being included as required.
TASK F,*CR JIM,COMP,LINK FRED-LIB,SAVE BIN,NORUNwhere FRED-LIB contains:-
SEMI FRED-SEM SEMI JIM-SEM LIB(26,NAGLIBF) ****The duplication of JIM-SEM by the default COMP filename and the SEMI parameter means it is consolidated after FRED-SEM.
TASK CONS,LINK FRED-LIB,SAVE BIN,NORUNNote that parameters other than SEMI and LIB may occur in a LINK file but no TASK or STEER parameters are allowed. Other parameters are treated exactly as in the STEER system. (See also the section "Consolidation of LINK parameter" in Part 2).
Specify macro to control binary program run.
TASK F,*CR FRED,MACIf compilation and consolidation are successful TASK assigns FRED-DAT if it exists and obeys FRED-MAC.
TASK F,*CR FRED,MAC MYMACROAs above but obeys MYMACRO.
TASK RUN FRED-BIN,MAC (EN 5)The binary FRED-BIN is loaded and FRED-DAT assigned if it exists. The binary program is entered at entry point 5 instead of 0.
TASK MAC (FORTIDY *CR FRED), TASK F,*CR FREDFRED is put through the FORTIDY system and also compiled and run by TASK.
Declares a program is going to require online exofiles or magnetic tapes.
TAPE7 - indicating 7-track magnetic tape TAPE9 - indicating 9-track magnetic tape EDS - indicating exchangeable disc drivenumber indicates the number of devices of the type medium which will be required by a job.
MEDIA (TAPE7,1,(700031)) User requires a 7-track tape, serial number 700031 MEDIA (TAPE9,2) Two 9-track worktapes are required. MEDIA (EDS,2,(032,040)) Disc packs 032 and 040 are required.
This parameter is intended for MOP users who wish to look at their job monitoring file as soon as TASK has run, and retain the monitoring file in the filestore.
LF filename,*LP,SPshould be used.
MON filename,*LPwhich outputs the file onto the lineprinters but does not enter the editor.
TASK F,*CR FRED,MONMonitor file listed and also put in FRED-MON, overwriting the previous contents (if any).
TASK F,*CR,MON FREDM,NOLISTMonitor file is not listed and is put in FREDM.
MON FREDand then inspect the monitoring file using the editor.
This gives the maximum SIZE of virtual core the job will occupy.
TASK F,*CR FRED,MZ120000where FRED is a large program and causes the FORTRAN compiler to require a virtual core of 120000 words.
endtask after compilation.
TASK F,*CR FRED,COMP,NOCONSendtask after compilation and putting semi-compiled in FRED-SEM.
TASK F,*CR FRED,COMP,NOCONS 1CONSendtask by GOTO 1CONS after compilation. Only valid in background job.
Suppresses listing of output to lineprinters
*LP No listing of compilation, consolidation (and the results of the binary program run if it is to the same sink) is done. #LP No listing of the binary program results is done. MON No listing of the monitoring file is done.Note only the first character is significant and that the presence of all three of the above is equivalent to NOLIST without string.
TASK F,*CR FRED,KEEP,NOLISTThe output goes to the default filenames generated by the KEEP parameter and no listing of output occurs.
TASK F,*CR FRED,NOLIST *LP,#LPThe compilation and consolidation output is not listed and the results go to the monitoring file which is listed. Note that if the #LP had not been present, the results would also not have been listed as they would have gone to the same file as the compilation output.
TASK F,*CR FRED,NOLIST *LPMON,#LP RESULTSNo listing of either the compilation, consolidation or monitoring file is done. The binary program results are listed. Note that *LPMON could be shortened to *M as only the * and M are significant.
TASK RUN FRED-BIN,NOLIST MThe binary program results are listed as normal but no listing of the monitoring file is done.
endtask after consolidation.
TASK F,*CR FRED,SAVE,NORUNCompile and consolidate FRED. Save the binary to FRED-BIN and then endtask.
TASK F,*CR FRED,SAVE,NORUN FRED-MACAs above but obey FRED-MAC after consolidation, FRED-MAC could add the peripherals, run the binary and cater for the various program halts.
Provides optimising compiler XFEH (FORTRAN only) See FORTRAN parameter.
Consolidate an overlay program.
TASK F, *CR FRED, OVERLAYFRED is an overlay program with DUMP ON and OVERLAY PROGRAM statements in the Program Description, the binary being put in FRED-BIN. It is compiled, consolidated and run, with data optionally from FRED-DAT.
TASK F, *CR FRED, OVERLAY FREDBINARY, LINK, SEMI JIM-SEMAs above but the binary is put in FREDBINARY and LINKed with an overlay semi-compiled in JIM-SEM.
Provides Program Description/Steering lines file. See PLAN and FORTRAN parameters.
Compile a PLAN program.
PROG (PLAN) NEXT (#XPCH) BIN OUT (A) WSF (SUBROUTINE) STEER (LIST,OBJECT) PLAN (CR)PD followed by filename gets steering lines from filename. The use of the PD parameter is NOT recommended as it is very inefficient. It is much better to include the steering lines in the program.
TASK PLAN,*CR FRED Card file source TASK PLAN,*TR FREDP Paper tape file sourceThe above will compile, consolidate and run the binary program if no errors are found.
Compile a PLASYD program.
TASK PLASYD,*CR FRED Source on cards TASK PLASYD,*TR FREDT Source on papertapeThe above will compile, consolidate and run the binary program if no errors occur.
Defines the property of the lineprinter to which the LP output and monitor file is to be sent. This is intended for a remote MOP user wishing his output to come to a nearby RJE station. All jobs input from an RJE station have their output automatically returned to it and do not require a PR parameter unless they wish to send it somewhere else. The ACL lineprinters have the property CENTRAL.
TASK F,*CR FRED,PR GLASGOWAll output from this task is sent to a lineprinter having the property GLASGOW.
TASK F,*CR FRED,PR GLASGOW, TASK F,*CR JIMOutput from both tasks will be sent to a lineprinter having the property GLASGOW. The properties currently used are:-
EXETER BELFAST ROE RGO GLASGOW LONDON MANCHESTER LIVERPOOL SOUTHAMPTON SUSSEX
Load and run a binary program.
TASK RUN FRED-BINBinary FRED-BIN is loaded, a workfile assigned to LP0 and FRED-DAT assigned to CR0 if it exists. The time limit for the binary program is the default value of 30 seconds.
TASK RUN FRED-BIN,JT 140,TI 135,#LP0 JUNK,#CR0 DATAAs above but output now to JUNK, data is obtained from DATA and time limit is 135 seconds. Jobtime is increased to 140 seconds to cover this.
Save binary program in filestore.
TASK F,*CR FRED,SAVECompile and consolidate binary and save into FRED-BIN. The binary is then run.
TASK F,*CR FRED,SV FREDBINARYAs above but binary saved to FREDBINARY.
Semicompiled DA files to be included in consolidation.
TASK F,*CR FRED,SEMI PLANSEMIIf FRED contains a SEMICOMPILED program description statement as above then the semi-compiled PLANSEMI is consolidated in.
TASK F,*CR FRED,SEMI PLANSEMI,LINK
This behaves in an identical manner to the LINK parameter except that workfiles from preceding tasks are not consolidated in.
Read parameters for TASK from the specified file or from jobsource.
C FORTRAN C *CR MASTER ABCD .......... END FINISH ****to compile and run the binary program he would use
TASK STEER FREDThe default datafile would be FRED-DAT as normal. The task
TASK F,*CR FREDwould also work as the parameters would be treated as comments by the FORTRAN compiler.
RUN FRED-BIN *CR data ****this could be used by
TASK STEER FRED-DATNote that this facility has the restriction that in between the parameters being read from the STEER file and its use as either a program source or a datafile, no use must be made of GEORGE channel CR0. Hence it is not possible to have both data and program source in a STEER file. Also note that if multiple tasks are used, the online must occur in the last task.
JOB JOBNAME,:USER TASK STEER FORTRAN *CR DEFAULT FRED MASTER ABCD ......... FINISH EJ ****where the FORTRAN is read online from the job source. This facility saves the repunching of the TASK call if parameters are to be changed and avoids one possibility of error. Note the use of DEFAULT to get the default base of FRED instead of NO-NAME.
F *CR FRED SV ER NORUN TASK RUN FRED-BIN #CR DATA1 TASK RUN FRED-BIN #CR DATA2 ****then the call
TASK JT 180 STEER DRIVEwould compile FRED and if no errors occurred, would run its binary with DATA1 and DATA2.
Any parameter followed by a ? will be ignored, from both macro or STEER files, except for JT, MZ and MEDIA commands which are accessed by GEORGE and must therefore be correct. Parameters preceded by a ? will also be ignored.
TASK F,*CR FRED,LIB (27,NAGLIB?,LIB (26,NAGLIB)The first LIB is ignored.
Delimits parameters on different tasks.
TASK JT 180,F,*CR FRED,TASK F,*CR JIM,SV,TASK RUN JIM-BIN TASK JT 180,F,*CR FRED,TASK,F,*CR JIM,SV,TASK,RUN JIM-BIN TASK JT 180,F,*CR FRED,F,*CR JIM,SV,RUN JIM-BINThe above example consists of three tasks and achieves in one call what the following three calls would achieve in a much more inefficient manner. Note the increase in jobtime to cater for all three tasks in the multitask case:-
TASK F,*CR FRED TASK F,*CR JIM,SV TASK RUN JIM-BIN
This specifies the milltime the run of a binary program may consume.
TASK F,*CR FRED,TI 5Run of binary program has limit of 5 seconds.
TASK F,*CR FRED,JT 6MINS,TI 5MINSRun of binary program has limit of 5 minutes. Note the JT value to allow time for the compilation.
TASK RUN FRED-BIN,TI 25SECSBinary program FRED-BIN is run for maximum of 25 seconds. Since the default JT value is 120 seconds, this need not be increased.
TASK F,*CR FRED,*CR/ATLAS/ FRED1,*CR/E/ FRED2 TASK F,FRED,/ATLAS/ FRED1,/E/ FRED2 TASK F,FORTFILEbut
TASK F,FORis wrong because FOR are the initial characters of the parameter FORTRAN.
TASK F,FORTRANFILEis wrong because FORTRANFILE contains the whole of parameter FORTRAN.
TASK F,*CR FRED,FRED1is wrong since *CR is present.
Define output sink for compilation and consolidation listing.
TASK F,*CR FRED Compiler etc output via workfiles to lineprinters. TASK F,*CR FRED,*LP Compiler etc output to monitor file. TASK F,*CR FRED,*LP JUNK Compiler etc output to JUNK which is listed on lineprinters.
Obey string as a GEORGE command as per #?? parameter but before compilation or a stand alone consolidation.
TASK F,*CR FRED,*??(ON 5)Do a FORTRAN compilation with switch 5 on.
Connect a peripheral to GEORGE channel n of a binary program where xx can be any of CR, CP, TR, TP, LP, ED, DA, CI, FW, FR, MT. n can be omitted and 0 will be assumed.
TASK PARAMETER GEORGE COMMAND GENERATED ACTION #MT OL *MT0 Scratch worktape #CR9 OL *CR9 CR9 Data online #LP4 OL *LP4 LP4 Output to monitoring file #LP1 JUNK(-0)(APPEND) AS *LP1,JUNK(-0)(APPEND) LP1 Output appended to JUNK(-0) #MT9 TAPE(WRITE) AS *MT9,TAPE(WRITE) MT9 I/O into simulated magnetic tapefile TAPE #DA1 DISC AS *DA1,DISC DA1 Input from discfile DISC #DA5 (76,DADATA) OL *DA5,(76,DADATA) DA5 gets input from exofile DADATA on disc 76
Obey string as a GEORGE command before running a binary program. If string contains a comma, it must be enclosed in brackets.
string can be any GEORGE command allowed in core image context and is primarily intended for connecting up peripherals, eg online magnetic tapes, not catered for by TASK. Except for the switch, commands ON and OFF, #?? must not be used to change or print the core image of the binary program as this is not loaded at this point. It can, however, be used for Broadcasts, Displays, etc.
Note, however, that TASK will endtask if this parameter generates a GEORGE command error, unless a CONT parameter is present. The macro facilities for the NORUN and MAC parameters are recommended for users with many non-standard requirements.
#??(OL *MT7(WRITE),(1234X,MYXENOTAPE)) #??(DP 2,PLEASE LOAD MAG TAPE 3761) #??LD
This permits a user to overcome the restriction on 15 parameters in a macro call of TASK. Parameter may be any TASK parameter except those accessed by GEORGE - ie JT, MZ or MEDIA and the contents of the brackets must apply to only one task. STEER and LINK parameters are allowed but should these lead to a further task then the result is undefined. The *CR on source file names is not optional if this parameter is within the brackets. This facility is not available within a STEER or LINK file. Parameter may be null and will be ignored by TASK. Nesting of bracketed parameters is not allowed.
TASK (F,*CR FRED)will compile, consolidate and run FRED.