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.
Consider the following Java program:
int num; num = num+ 10;
- 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.
- The value of num is bound at execution time with this statement.
- A variable num be bound to a storage cell when the program is loaded into memory.
- A call to a library subprogram is bound to the subprogram code at link time.