En la programación de computadora un lengua interpretada es un lenguaje de programación cuya puesta en práctica toma a menudo la forma de un intérprete . Teóricamente, cualquier lengua puede ser compilado o interpretado, así que esta designación se aplica puramente debido a práctica común de la puesta en práctica y una no cierta característica subyacente de una lengua.
Muchas idiomas se han ejecutado usar ambos recopiladores y los intérpretes, incluyendo balbucean, el C, BASIC, y el pitón . Mientras que el Java se traduce a una forma que se piense para ser interpretada, la compilación justo a tiempo es de uso frecuente generar el código automático. Las idiomas netas compilan al CIL de el cual a menudo entonces se compila en código automático nativo; al menos hay una máquina virtual capaz de interpretar CIL.
Antecedentes históricos
En los comienzos de la computación, el
diseño de la lengua fue influenciado pesadamente por la decisión para utilizar la compilación o la interpretación como modo de ejecución. Por ejemplo, algunas idiomas compiladas requieren que los programas deben indicar explícitamente que el dato-tipo de un
variable él está declarado en ese entonces o primero que utilizado. Por una parte, algunas idiomas se aprovechan de los aspectos dinámicos de la interpretación para hacer tales declaraciones innecesarias. Por ejemplo, &mdash del
palique ; en cuál fue diseñado ser interpretado funcionar-time— permite que los objetos genéricos obren recíprocamente dinámicamente con uno a.
Inicialmente, las idiomas interpretadas eran línea por línea compilado; es decir, cada línea fue compilada pues estaba a punto de ser ejecutada, y si un lazo o una subrutina hiciera ciertas líneas ser ejecutado las épocas múltiples, recompiled cada vez. Esto ha llegado a ser mucho menos común. La mayoría de las idiomas interpretadas supuestas utilizan una representación intermedia, que combina la compilación y la interpretación. En este caso, un recopilador puede hacer salir una cierta forma de Bytecode o de código roscado, que entonces es ejecutado por un intérprete del bytecode. Los ejemplos incluyen el pitón, y el Java . Semejantemente, el rubí utiliza un árbol de abstract syntax como representación intermedia. La representación intermedia se puede compilar de una vez por todas (como en Java), cada vez antes de la ejecución (como en el Perl o el rubí), o cada vez que un cambio en la fuente se detecta antes de la ejecución (como en pitón).
Características de lengua que se adaptan a los intérpretes bien
Las idiomas interpretadas todavía dan a programas cierta flexibilidad adicional sobre idiomas compiladas. Las características que son más fáciles de ejecutar en intérpretes que en recopiladores incluyen (pero no se limitan):
independencia de la plataforma (código del
octeto de Java, por ejemplo)
uso reflexivo del evaluador (e. una función
de primer orden de Eval )
que mecanografía dinámico
facilidad del depuración (del es más fácil conseguir la información del código fuente en idiomas interpretadas)
pequeño tamaño del programa (puesto que las idiomas interpretadas tienen flexibilidad para elegir código de instrucción)
polimorfismo del objeto
scoping dinámico
Lista del de las idiomas con frecuencia interpretadas
El vector del APL A orientó lengua usar un juego de caracteres inusual.
Lengua scripting del Web page ASP
BASIC (aunque la versión original, BASIC de Dartmouth, fue compilada, al igual que muchos fundamentos modernos) ThinBasic
CYBOL
ECMAScript ActionScript
DMDScript
E4X
Javascript (primer Mocha nombrado del, entonces LiveScript )
JScript
Manipulación de la ecuación y sistemas el solucionar IDL
Arce
Mathematica
MATLAB
La euforia interpretó o compiló.
adelante (tradicionalmente roscados interpretados)
El informa a
J una variante del APL en la cual la
definición tácita proporciona algunas de las ventajas de la compilación.
Lava
El balbucea Esquema
Insignia
PAPERAS (versiones tradicionalmente interpretadas, modernas compiladas)
R (lenguaje de programación)
Rubí JRuby (una puesta en práctica de Java del rubí)
del palique (la objeto-orientación pura, original Xerox PARC, apoya a menudo el depuración a través de las máquinas.) Bistros
F-Escritura
poco palique
Chirrido VisualAge
VisualWorks
Idiomas Scripting * hojas de balance ** el Excel almacena fórmulas, las interpreta de un formato tokenized.
S (lenguaje de programación)
Tcl XOTcl
Idiomas compiladas generalmente a un código automático virtual
Muchas idiomas interpretadas primero se compilan a una cierta forma de código de la
máquina virtual, que después se interpreta o se compila en el tiempo de pasada al código nativo .
El Java traducida con
frecuencia al Bytecode y se puede también compilar usar el GCJ maravilloso
El ensambla Java
Lua
Perl
PHP
Pike
Pitón
FoxPro visual
.
ZenithicAndy Tillison