Resumen
En ciencias de la computación, un intérprete es un programa de computadora que ejecuta directamente instrucciones escritas en un lenguaje de programación o de script, sin requerir que hayan sido compiladas previamente en un programa en lenguaje de máquina. Un intérprete generalmente usa una de las siguientes estrategias para la ejecución de programas:
Analizar el código fuente y realizar su comportamiento directamente;
Traducir el código fuente a alguna representación intermedia eficiente o código objeto y ejecutar inmediatamente eso;
Ejecutar explícitamente bytecode precompilado almacenado creado por un compilador y coincidente con la Máquina Virtual del intérprete.
Las primeras versiones del lenguaje de programación Lisp y los dialectos de BASIC para minicomputadoras y microcomputadoras serían ejemplos del primer tipo. Perl, Raku, Python, MATLAB y Ruby son ejemplos del segundo, mientras que UCSD Pascal es un ejemplo del tercer tipo. Los programas fuente se compilan con anticipación y se almacenan como código independiente de la máquina, que luego se vincula en tiempo de ejecución y se ejecuta por un intérprete y/o compilador (para sistemas JIT). Algunos sistemas, como Smalltalk y las versiones contemporáneas de BASIC y Java también pueden combinar dos y tres. Intérpretes de varios tipos también se han construido para muchos lenguajes tradicionalmente asociados con la compilación, como Algol, Fortran, Cobol, C y C++.
Si bien la interpretación y la compilación son los dos medios principales por los que se implementan los lenguajes de programación, no son mutuamente excluyentes, ya que la mayoría de los sistemas de interpretación también realizan algún trabajo de traducción, al igual que los compiladores. Los términos "lenguaje interpretado" o "lenguaje compilado" significan que la implementación canónica de ese lenguaje es un intérprete o un compilador, respectivamente. Un lenguaje de alto nivel es idealmente una abstracción independiente de implementaciones particulares.
De Wikipedia (CC BY-SA 4.0).