When I first read about interpreters I was under the impression they took the source language and, one statement at a time, translated it into machine language and fed it to the CPU to be executed.
However, I just learned interpreters execute the code directly and the JVM has it's own set of machine instructions which the bytecode is translated to and it is executed from there. The second makes a little more sense to me as I know the JVM has it's own virtual processor and what little I know indicates you cannot execute code without a processor.
If this is accurate does this mean all interpreters are VM's? If the host processor is not involved then how does all this work?
I've done a little research here and elsewhere but the answers I can understand aren't clear and the rest assumes I have knowledge of concepts I have not been introduced to yet.
I would appreciate a fairly simple answer.