What is a compiler?
A tool that transforms
program in source programming language |
---|
into a
program in target programming language |
---|
so we can
run the compiled program on machine |
---|
Typically:
- source language is a high-level programming language, such as C, Java, Scala
- should be easy to use by programmers
- target language is
- the machine language for a microprocessor, e.g. of Intel x86 or ARM architecture, or
- a virtual machine bytecode such in JVM or .NET Framework
- should be easy to run on a machine