Implementación de lenguaje de programación
El código traducido puede ser directamente ejecutado por hardware, o servir tan entrada a otro intérprete u otro compilador.[2] Un intérprete está compuesto de dos partes: un parseador y un evaluador.[5] Algunas las máquinas virtuales incluyen un compilador justos-a-tiempo (JIT en inglés) para mejorar la eficacia de ejecución del bytecode.Mientras el bytecode está siendo ejecutado por la máquina virtual, si el proceso JIT del compilador determina que una porción del bytecode será utilizado repetidamente, compila que porción particular a código de máquina.La mayoría de compiladores están organizados a tres etapas: un frente, un optimizador, y un fin posterior.El fin posterior convierte la representación intermedia optimizada a la lengua de producción del compilador.