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


  • source language is a high-level programming language, such as C, Java, Scala
    • should be easy to use by programmers
  • target language is