In computer science, an intermediate language is the language of an abstract machine designed to aid in the analysis of computer programs. The term comes from their use in compilers, where a compiler first translates the source code of a program into a form more suitable for code-improving transformations, as an intermediate step before generating object or machine code for a target machine. The design of an intermediate language typically differs from that of a practical machine language in three fundamental ways:
- Each instruction represents exactly one fundamental operation; e.g. "shift-add" addressing modes common in microprocessors are not present.
- Control flow information may not be included in the instruction set.
- The number of registers available may be large, even limitless.
A popular format for intermediate languages is three address code.
A variation in the meaning of this term is to refer to those languages used as an intermediate language by some high-level programming languages which do not output object or machine code, but output the intermediate language only, to submit to a compiler for such language, which then outputs finished object or machine code. This is usually done to gain optimization much as treated above, or portability by using an intermediate language that has compilers for many processors and operating systems, such as C. Languages used for this fall in complexity between high-level languages and low-level languages, such as assembly languages.
Read more about Intermediate Language: Intermediate Representation, Languages
Famous quotes containing the words intermediate and/or language:
“Complete courage and absolute cowardice are extremes that very few men fall into. The vast middle space contains all the intermediate kinds and degrees of courage; and these differ as much from one another as mens faces or their humors do.”
—François, Duc De La Rochefoucauld (16131680)
“It is a mass language only in the same sense that its baseball slang is born of baseball players. That is, it is a language which is being molded by writers to do delicate things and yet be within the grasp of superficially educated people. It is not a natural growth, much as its proletarian writers would like to think so. But compared with it at its best, English has reached the Alexandrian stage of formalism and decay.”
—Raymond Chandler (18881959)