What is "compilers"

A compiler is a computer program (or a group of programs) that, from a source code written in a compiled language, creates a semantically equivalent program, but written in another language, Object code, the compilation process is composed of analysis and synthesis and the analysis can be further subdivided into lexical analysis, syntactic analysis, semantic analysis and intermediate code generation. It is also known as the front end. The synthesis can have more variations from one compiler to another, and can be composed by the steps of code optimization and final code generation (or machine code), being only this last step is mandatory. It’s also known as the back end.