Name binding

In computer programming, name binding is the association of a data or code entity with an identifier. An identifier bound to an entity is said to reference that entity. A machine language has no built-in notion of identifiers, but name-entity binding as a service and notation for the programmer is implemented by higher-level programming languages. Binding is intimately connected with scoping, as scope determines which names bind to which entities – at which locations in the program code (lexically) and in which one of the possible execution paths (temporally).

Use of an identifier id in a context that establishes a binding for id is called a binding (or defining) occurrence. In all other occurrences (e.g., in expressions, assignments, and subprogram calls), an identifier stands for what it is bound to; such occurrences are called applied occurrences.