Compiler is a standard program written & supplied by the computer manufacturers for translating the program JAVA written in high level language into the equivalent machine code of the computer. This process of translating is called compilation. The compilation process consists of first loading the computer with the compiler & then inputting the source program. The compiler produces an object program whose extension is .OBJ.
Assembler translates a program written in assembly language into machine language. It deals with a low level language. It translate complete source program into an object program, identifying any error along the way. The assembler will list or display these errors as well as complete source & object programs. If the program is error free, the job control program will run it immediately or save the object program. So that it may run it later without translating it again.
Interpreter is another type of translator use for translating high level languages into machine code. It translates the program line by line. Each time the program is executed; every line is checked for syntax error and converted to equivalent machine code.