Home

compile

Compile is the process of translating source code written in a high-level programming language into a lower-level representation, typically machine code or an intermediate form such as bytecode. This translation is performed by a compiler, a program that reads the source and emits target code. Compilation is a core concept in computing, distinguishing it from interpretation, where code is executed directly by an interpreter. Outside computing, to compile can also mean to gather information from multiple sources into a single collection.

A typical compiler workflow consists of a front end and a back end. The front end performs

Many languages compile to portable intermediate representations, such as Java to bytecode or .NET languages to

Cross-compilation and build systems automate compilation for different target architectures and environments. The choice of language,

lexical
analysis,
parsing,
and
semantic
analysis
to
check
syntax
and
meaning,
while
the
back
end
translates
the
analyzed
program
into
target
code
and
may
apply
optimizations.
The
output
may
be
object
code
that
requires
linking
to
form
an
executable,
or
standalone
optimized
machine
code.
Some
compilers
emit
portable
intermediate
representations,
which
can
be
executed
on
different
architectures
with
a
suitable
runtime
or
translator.
CIL,
which
are
then
executed
by
a
virtual
machine
or
runtime
with
just-in-time
compilation.
Other
languages
compile
directly
to
native
machine
code.
Modern
toolchains
often
support
multiple
build
configurations,
including
optimizing
and
debugging
options,
and
may
produce
additional
debugging,
profiling,
or
information
for
error
reporting.
target
platform,
and
compilation
strategy
affects
performance,
portability,
development
efficiency,
and
security.
In
contrast
to
interpreted
languages,
compiled
languages
can
offer
faster
startup
times
and
potentially
greater
runtime
efficiency,
though
they
may
require
longer
edit-compile-debug
cycles.