What is compiler? - Definition from WhatIs.com
Part of the Programming glossary:

A compiler is a special program that processes statements written in a particular programming language and turns them into machine language or "code" that a computer's processor uses. Typically, a programmer writes language statements in a language such as Pascal or C one line at a time using an editor . The file that is created contains what are called the source statements . The programmer then runs the appropriate language compiler, specifying the name of the file that contains the source statements.

When executing (running), the compiler first parses (or analyzes) all of the language statements syntactically one after the other and then, in one or more successive stages or "passes", builds the output code, making sure that statements that refer to other statements are referred to correctly in the final code. Traditionally, the output of the compilation has been called object code or sometimes an object module . (Note that the term "object" here is not related to object-oriented programming .) The object code is machine code that the processor can process or "execute" one instruction at a time.

More recently, the Java programming language, a language used in object-oriented programming , has introduced the possibility of compiling output (called bytecode ) that can run on any computer system platform for which a Java virtual machine or bytecode interpreter is provided to convert the bytecode into instructions that can be executed by the actual hardware processor. Using this virtual machine, the bytecode can optionally be recompiled at the execution platform by a just-in-time compiler .

Traditionally in some operating systems, an additional step was required after compilation - that of resolving the relative location of instructions and data when more than one object module was to be run at the same time and they cross-referred to each other's instruction sequences or data. This process was sometimes called linkage editing and the output known as a load module .

A compiler works with what are sometimes called 3GL and higher-level languages. An assembler works on programs written using a processor's assembler language.

This was last updated in June 2010
Posted by: Margaret Rouse

Related Terms

Definitions

  • headless Android

    - Headless Android is a version of the Android operating system designed for embedded devices that lack user interfaces. (WhatIs.com)

  • embedded software

    - Hardware makers use embedded software to control the functions of various hardware devices and systems. Embedded software controls device functions in the same way that a computer’s operating syste... (WhatIs.com)

  • framework

    - In computer systems, a framework is often a layered structure indicating what kind of programs can or should be built and how they would interrelate. (WhatIs.com)

Glossaries

  • Programming

    - Terms related to software programming, including definitions about programming languages and words and phrases about software design, coding, testing and debugging.

  • Internet applications

    - This WhatIs.com glossary contains terms related to Internet applications, including definitions about Software as a Service (SaaS) delivery models and words and phrases about web sites, e-commerce ...

Ask a Question. Find an Answer.Powered by ITKnowledgeExchange.com

Ask An IT Question

Get answers from your peers on your most technical challenges

Ask Question
  • Parsing XML File

  • Listing RPG Indicators

    Hi,Try Craig Rutledge tools at www.jcrcmds.com. Among various useful tolls you'll find JCRIND to list indicators used in a RPG/CL/PRTF/DSPF sources.BTW it's free!Regards 

  • RPGLE Source Lines Exceeded

    That is a problem with legacy code. I am surprised at the size of the source though. Depending on the number of lines in your change, you may want to do a CALL to a new program to perform your modi...

Tech TalkComment

Share
Comments

    Results

    Contribute to the conversation

    All fields are required. Comments will appear at the bottom of the article.