Identifier

From Wikipedia, the free encyclopedia

Identifiers (IDs) are lexical tokens that name entities. The concept is analogous to that of a "name". Identifiers are used extensively in virtually all information processing systems. Naming entities makes it possible to refer to them, which is essential for any kind of symbolic processing.

[edit] Identifiers in computer languages

In computer languages, identifiers are textual tokens (also called symbols) which name language entities. Some of the kinds of entities an identifier might denote include variables, types, labels, subroutines, and packages.

In most languages some character sequences have the lexical form of an identifier but are known as keywords. In a few languages, eg, PL/1, the distinction is not clear cut.

Computer languages usually place restrictions on what characters may appear in an identifier. For example, in early versions the C and C++ language, identifiers are restricted to being a sequence of one or more ASCII letters, digits (these may not appear as the first character), and underscores. Later versions of these languages, along with many other modern languages support almost all Unicode characters in an identifier (a common restriction is not to permit white space characters and language operators).

In compiled programming languages, identifiers are generally compile time entities. That is, at runtime the compiled program contains references to memory addresses and offsets rather than the textual identifier tokens (these memory addresses, or offsets, having been assigned by the compiler to each identifier).

In interpreted languages identifiers are often present at runtime, sometimes even as first-class objects which can be freely manipulated and evaluated.

Compilers and interpreters do not usually assign any semantic meaning to an identifier based on the actual character sequence used. However, there are exceptions. For example:

  • in Perl a variable is indicated using a prefix called a sigil, which specifies aspects of how the variable is interpreted in expressions.
  • in Ruby a variable is automatically considered immutable if its identifier starts with a capital letter;
  • in Fortran, the first letter in a variable's name indicates whether by default it is created as an integer or floating point variable.

[edit] See also