Lookup

In computing, lookup usually refers to searching a data structure for an item that satisfies some specified property. (Note that in grammatical usage, lookup is the noun form describing the verb form to look up.) For example, variable lookup performed by a (scripting) language interpreter, virtual machine or other similar engine usually consists of performing certain actions to dynamically find correspondence between variable identifier and actual variable internal representation, usually involving symbol table lookup. Symbol table lookup can be performed either during run-time (interpreter or scripting engine), or during compile time (compiler). A hybrid scheme when lookup is performed both during translation phase and then later during runtime is also possible (e.g. bytecode compiler and virtual machine). In all of these cases, search item is a variable and the search property (or search criterion) is a variable name. Variable lookup is usually performed according to variable visibility rules that are specific to the (scripting) language in question.

Another example is DNS lookup. In DNS lookup, a DNS server is requested to find a host IP address given host domain name. Here the search criterion (property) is a domain name and the search result (item) is an IP address. A domain name may be associated with several IP addresses. Reverse DNS lookup performs the reverse task: given IP address, it attempts to resolve domain name associated with the specified IP address.

Spreadsheet software typically has functions such as LOOKUP, HLOOKUP, and VLOOKUP, to find either a value in a row or column that matches the argument, or in the case of range lookup, to find an interval in a set of adjacent intervals (given by their limits, specified in a row or column) which contains the argument. The result is the corresponding value in a specified parallel row or column.