Concept of Binding

Definition

A binding is an association between a variable and its type or value.

Binding time is the time at which a binding takes place.

Bindings can take place at language design time, language implementation time, compile time, load time, link time, or run time.

For example,
Consider the following Java program:

int num;
num = num+ 10;

Terminologies

Compile time:

  • The type of num is bound at compile time.
  • The meaning of the operator symbol + is bound at compile time, when the types of its operands have been determined.

Compiler design time:

  • The set of possible values of num is bound at compiler design time.
  • The internal representation of the literal 10 is bound at compiler design time.

Run time: 

  • The value of num is bound at execution time with this statement.

Load time:

  • A variable num be bound to a storage cell when the program is loaded into memory.

Link time:

  • A call to a library subprogram is bound to the subprogram code at link time.