Además, muchos intérpretes "clásicos" también incluyen la fase lex/parse junto con la ejecución.
Por ejemplo, considere ejecutar una secuencia de comandos de Python. Cuando lo hace, tiene todos los costos asociados con la conversión del texto del programa a las estructuras internas de datos del intérprete, que luego se ejecutan.
Ahora contraste esto con la ejecución de una secuencia de comandos compilada de Python, un archivo .pyc. Aquí, la fase de lex y parse está lista, y usted tiene solo el tiempo de ejecución del intérprete interno.
Pero si considera, por ejemplo, un intérprete BASIC clásico, estos nunca almacenan el texto en bruto, sino que almacenan un formulario tokenizado y vuelven a crear el texto del programa cuando hace "LISTAR". Aquí el código de bytes es mucho más crudo (aquí no tienes una máquina virtual), pero tu ejecución puede omitir parte del procesamiento de texto. Todo eso se hace cuando ingresas a la línea y presionas ENTER.
bytecode is interpreted. el código fuente vs bytecode sería mejor. –
código fuente, para mí, implica que debe compilarse. – Whaledawg
@Whaledawg byecode se puede compilar también. –