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