Too Long; Didn't Read
An interpreter reads the code line by line and generates machine instructions at run time. In a very basic sense, a compiler compiles the entire code altogether for later use. An interpreter doesn’t pre-compile anything but interprets the provided input, on the fly, to instruct the CPU for performing tasks in sequence. The output in the form of machine code/executable is not 100% generic, it includes processor-specific instructions. A JIT (JIT in Time Compiler) is another variation of the compilers that you encounter in today’s world.