A Compiler is a computer program which translates a computer program, also referred to as source code, into a lower level representation, usually executable code. In most cases, the output of the compiler needs further processing to be executed. Compilers exist for most programming languages, and are opposed to interpreters. Execution of compiled code is usually much faster than execution of a program in an interpreter.
Supported Programming languages
Compilers exist for many different programming languages. The most popular Compiler for C-Code is historically the GCC (GNU C Compiler). Most Embedded Systems are programmed primarily in C or a mix of C, C++ and ASM (hand written or optimized) machine code.