A compiler is a computer program (or set of programs) that transforms source code written in a programming language (the source language) into another computer language, The most common reason for wanting to transform source code is to create an executable program.
The name "compiler" is primarily used for programs that translate source code from a high-level programming language to a lower level language (e.g., assembly language or machine code). A program that translates from a low level language to a higher level one is a decompiler.

