LOAD - loading a B program in batch.

Description:

Most B programs are loaded in TSS, but it is quite possible to load them in batch. While it is possible to compile the program in batch as well, it is often true that the program has already been compiled in TSS and the relocatable object code has been placed in a random library. You can use this kind of random library to load the program in batch. For example, assume that your B program has been placed in a random library called "your.uid/lib". The following JCL will load the program in batch.

$       IDENT     userid,banner
$       LOWLOAD
$       LIBRARY   L1
$       ENTRY     MAIN
$       USE	MAIN
$       SELECT    B/EXECUTE
$       PRMFL     L1,R,R,your.uid/lib
$       ENDJOB

Two additional libraries containing the B run-time library routines are accessed by the $SELECT B/EXECUTE. "uw_tools/rfw1.5/batl" is the B batch library that is used when you invoke the "-Batch" option. "uw_tools/rfw1.5/blib" is the library for the TSS specific and general B run-time routines. Note that "rfw1.5" will change with each release of B.

The $SELECT B/EXECUTE uses file codes LB and BL to refer to the B libraries, and you must bear this in mind when assigning file codes to your own libraries and data files. If there is a conflict, it is always possible to replace the select sequence with your own JCL. However, if you do this you will have to update your JCL with each release of B. Additional JCL may be used in the same manner as it would be for any other batch job.

The size of the B stack can be adjusted dynamically by using

$      OPTION   SET/<stack.size.in.octal>

This is a kludge. B programs should not be dependent upon memory being set to zero, so the run-time library is using the GELOAD memory set value as a stack size, as well as using it as a constant for initializing memory.

See Also:

expl b batch compile
for details on compiling a B program in batch.

Copyright © 1996, Thinkage Ltd.