|
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: Computer science, or computing science, is the study of the theoretical foundations of information and computation and their implementation and application in computer systems. ...
An abstract machine, also called an abstract computer, is a theoretical model of a computer hardware or software system used in Automata theory. ...
A computer program is a collection of instructions that describe a task, or set of tasks, to be carried out by a computer. ...
A diagram of the operation of a typical multi-language, multi-target compiler. ...
In computer science, object file or object code is an intermediate representation of code generated by a compiler after it processes a source code file. ...
A system of codes directly understandable by a computers CPU is termed this CPUs native or machine language. ...
A system of codes directly understandable by a computers CPU is termed this CPUs native or machine language. ...
- 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. Microprocessors, including an Intel 80486DX2 and an Intel 80386 A microprocessor (abbreviated as µP or uP) is an electronic computer central processing unit (CPU) made from miniaturized transistors and other circuit elements on a single semiconductor integrated circuit (IC) (aka microchip or just chip). ...
In computer science control flow (or alternatively, flow of control) refers to the order in which the individual statements or instructions of an imperative program are performed or executed. ...
In computer science, three address code is a form of representing intermediate code used by compilers to aid in the implementation of code-improving transformations. ...
A variation in the meaning of this term, is 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. A high-level programming language is a programming language that, in comparison to low-level programming languages, may be more abstract, easier to use, or more portable across platforms. ...
Computer programming (often shortened to programming or coding) is the process of writing, testing, and maintaining the source code of computer programs. ...
In computing, optimization is the process of modifying a system to make some aspect of it work more efficiently or use fewer resources. ...
In computer science, porting is the process of adapting software so that an executable program can be created for a computing environment that is different from the one for which it was originally designed (e. ...
Die of an Intel 80486DX2 microprocessor (actual size: 12Ã6. ...
In computing, an operating system (OS) is the system software responsible for the direct control and management of hardware and basic system operations. ...
C is a general-purpose, block structured, procedural, imperative computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system. ...
This article does not cite any references or sources. ...
See the terminology section, below, regarding inconsistent use of the terms assembly and assembler. ...
Languages
Some intermediate programming languages: A programming language is an artificial language that can be used to control the behavior of a machine, particularly a computer. ...
C is used as an intermediate language by many programming languages including Eiffel, Sather, Esterel; some dialects of Lisp (Lush, Gambit), Haskell (Glasgow Haskell Compiler); Squeak's C-subset Slang, and others. Variants of C have been designed to provide C's features as a portable assembly language, including one of the two languages called C--, the C Intermediate Language and the Low Level Virtual Machine. C is a general-purpose, block structured, procedural, imperative computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system. ...
Eiffel is an ISO-standardized object-oriented programming language designed for extensibility, reusability, reliability and programmer productivity. ...
Sather is an object-oriented programming language. ...
Esterel is a formally defined synchronous imperative language for the programming of reactive systems. ...
A dialect of a programming language is a (relatively small) variation or extension of the language that does not change its intrinsic nature. ...
Lisp is a family of computer programming languages with a long history and a distinctive fully-parenthesized syntax. ...
Lush, the Lisp Universal Shell, is an object-oriented dialect of Lisp that was initially developed as a scripting language for machine learning applications, but can also be used for general purpose, systems, and network programming or administration tasks. ...
Gambit, also called Gambit-C, is a free software Scheme implementation, consisting of a Scheme interpreter, and a compiler which compiles Scheme to C. Its documentation [1] claims conformance to the R4RS, R5RS, and IEEE standards, as well as several SRFI. Gambit home page Categories: | | | | ...
Haskell is a standardized purely functional programming language with non-strict semantics, named after the logician Haskell Curry. ...
The Glasgow Haskell Compiler (or GHC) is an open source Native code Compiler for the functional programming language Haskell which was developed at the University of Glasgow. ...
The Squeak programming language is a Smalltalk implementation, derived directly from Smalltalk-80, by Smalltalks originators during their time at Apple Computer and later, at Walt Disney Imagineering, where it was intended for use in internal Disney projects such as a Mickey Mouse PDA. It is object-oriented, and...
See the terminology section, below, regarding inconsistent use of the terms assembly and assembler. ...
C-- is a name used for at least two different, unrelated programming languages, which goal is to bring the C programming language closer to computer hardware, thus creating more compact machine code while keeping C syntax, usage standards, and readability, to make use of the many programmers already familiar with...
Low Level Virtual Machine (LLVM) is a compiler infrastructure designed for compile-time, link-time, run-time, and idle-time optimization of programs from arbitrary programming languages. ...
In effect, Sun Microsystem's Java bytecode is the intermediate language used by all compilers targeting the Java Virtual Machine. The JVM can them do just-in-time compilation to get executable machine code to improve performances. Similarly, Microsoft's Common Intermediate Language is an intermediate language designed to be shared by all compilers for the .NET Framework, before static or dynamic compilation to machine code. Java bytecode is the form of instructions that the Java virtual machine executes. ...
A Java Virtual Machine (JVM), originally developed by Sun Microsystems, is a virtual machine that executes Java bytecode. ...
In computing, just-in-time compilation (JIT), also known as dynamic translation, is a technique for improving the performance of bytecode-compiled programming systems, by translating bytecode into native machine code at runtime. ...
Common Intermediate Language (CIL) (formerly called Microsoft Intermediate Language or MSIL) is the lowest-level human-readable programming language in the Common Language Infrastructure and in the . ...
The Microsoft . ...
The Gnu Compiler Collection (gcc) uses internally several intermediate languages to simplify portability and cross-compilation. Among these languages are The GNU Compiler Collection (usually shortened to GCC) is a set of programming language compilers produced by the GNU Project. ...
Compiling a program takes place by running a compiler on the build platform. ...
Register Transfer Language (RTL) is an intermediate representation used by the GCC compiler. ...
Look up Generic in Wiktionary, the free dictionary. ...
In compiler theory, static single assignment form, more often abbreviated SSA form or just SSA, is an intermediate representation (IR) in which every variable is assigned exactly once. ...
In the GNU Compiler Collection, GIMPLE is an intermediate representation of the program in which complex expressions are split into a three address code using temporary variables. ...
See also |