A Compiler is a program to transform source code from one language to another. Commonly, the target language is MachineCode - either that of a "real" silicon CPU or of a VirtualMachine.
A Compiler is often refered to by the name of it's executable. Thus on a Solaris platform, the Sun C Compiler is refered to as CC, the GNU C Compiler is refered to as GCC and the Sun Java compiler as javac.
Most Compilers are usually built using, well, a CompilerCompiler.
Compare CompileTime, DeCompiler and SoftwareDevelopmentTools.