Compiler is computer program which reads code written in one language and translates it to equal program in another language.
Important part of such translation process is reporting errors in source code to user.
There are thousands or more source languages, from traditional such as C, Pascal or Java, to specialized ones.
Target languages are varied as well. Target language might be any programming language or machine language of any computer, from microprocessors to supercomputers.