Binder Manual (G06.24+, H06.03+)

Introduction
Binder Manual528613-003
1-2
Forms of Binder
Forms of Binder
Binder has two forms: BINSERV and BIND.
BINSERV is the form of Binder that a language compiler uses. BINSERV builds
executable object files for C, COBOL85, FORTRAN, and TAL. (The Pascal
compiler uses BINSERV but does not produce an executable object file.)
BIND is the form of Binder you can use interactively to modify object files. You can
use BIND to update and link object files from C, COBOL85, FORTRAN, Pascal,
and TAL. BIND is the only form of Binder that produces executable object files for
Pascal programs.
BINSERV
BINSERV is a process that builds object files for a compiler process. It executes as a
separate process during a compilation. BINSERV accepts commands from the
compiler, builds lists of references that must be resolved, reports on its success in
locating needed blocks, and eventually creates a target object file or reports its failure
to do so. BINSERV also returns information to the compiler about the characteristics of
the blocks it found.
BINSERV can link program units written in different languages to form an application
program. For example, a server in a main COBOL85 program can use FORTRAN
subprograms for calculations and TAL procedures for block moves and scans of data.
For additional information on mixed-language binding, see Binding Mixed-Language
Programs on page 2-13.
All object files that serve as input to Binder originate either from the compilation-time
process BINSERV or from previous BIND sessions. The new object files produced can
then serve as input to further binding operations. The target object file BINSERV
creates has the standard object file format.
If you do not need special binding operations, you can simply compile and execute
programs. In the following example, the FORTRAN compiler automatically invokes
BINSERV, and the binding step is transparent to you:
Figure 1-1 shows how BINSERV uses information from the compilers to produce an
executable object file.
Pascal does not allow binding at compile time. For more information, see Binding
Pascal Programs on page 2-12.
12> FORTRAN/in source, out list/try1
13> RUN try1