Interpreter: A program that executes a translated version of the source program by implementing a virtual machine. The interpreters usually simulate the actions of an idealized Central Processing Unit. An interpreter for Java should implement the Java Virtual Machine (abbreviated as JVM) and performs the bytecodes generated by a Java compiler. The benefit of employing an interpreter for Java is that it makes the language more portable than when it was a completely compiled language. The bytecode version of a program generated by a Java compiler might be run on any interpreter implementing the JVM.