Un uno mismo-intérprete es un intérprete de programación del lenguaje escrito en la lengua que interpreta. Un ejemplo sería un intérprete del BASIC escrito en el BASIC. Conceptual, los uno mismo-intérpretes son estrechamente vinculados a los recopiladores de Uno mismo-recibimiento .

Esto puede sonar paradójico; ¿cómo puede uno ejecutar una lengua en esa lengua si todavía no existe? Al menos hay poco misterio aquí. Los intérpretes son siempre " up" burlón; en una cierta otra lengua existente y entonces convertido más adelante a la lengua interpretan. En estos casos las maquetas tempranas se pueden utilizar para desarrollar el código fuente del intérprete. Una vez que es el sistema las nuevas versiones atadas con correa del intérprete se pueden desarrollar en la lengua sí mismo.

Una definición de un lenguaje de programación se hace generalmente en lo referente a una máquina abstracta (semántica operacional supuesto) o como función matemática (semántica indicativa ). Una lengua se puede también definir por un intérprete, por el que la semántica de la lengua en la cual definen al intérprete se considere generalmente como dado. La definición de una lengua de un uno mismo-intérprete no está fundamentada (es decir, no puede ser utilizado para definir una lengua), pero un uno mismo-intérprete dice a lector mucho sobre la expresividad y la elegancia de una lengua. También permite al intérprete interpretar su propio código fuente, el primer paso hacia un intérprete reflexivo .

Hay una dimensión importante del diseño en la puesta en práctica de un uno mismo-intérprete, a saber si una característica de lengua en la lengua interpretada es ejecutada usando la misma característica en la lengua de puesta en práctica del intérprete (la lengua de anfitrión). Un ejemplo típico es si balbucea un encierro en un - como lengua se ejecuta usar encierros en la lengua del intérprete o el " ejecutado; manually" usar una estructura de datos que almacena el ambiente explícitamente. Más características son ejecutadas por la misma característica en la lengua del intérprete, menos es control que el programador del intérprete tiene. Por ejemplo, un diverso comportamiento para ocuparse de desbordamientos del número no puede ser observado si las operaciones aritméticas apenas se delegan a las operaciones correspondientes en la lengua de anfitrión.

Hay algunas idiomas que tienen un uno mismo-intérprete particularmente agradable y elegante, tal como balbucea o el prólogo . Mucha investigación sobre los uno mismo-intérpretes, particularmente intérpretes reflexivos, se ha conducido en el contexto del lenguaje de programación del esquema, un dialecto de balbucea. Generalmente sin embargo, cualquier ( Turing-completo) lengua razonablemente de gran alcance permite la escritura de su propio intérprete.

Clive Gifford introdujo una calidad de la medida del uno mismo-intérprete - eigenratio. Eigenratio es un cociente entre el tiempo de computadora pasado para funcionar con un apilado de uno mismo-intérpretes de N y el tiempo pasado para funcionar con a un apilado de los uno mismo-intérpretes N-1, cuando N va al infinito. Este valor no depende del programa a nivel superior que es funcionado.

La estructura del libro y la interpretación de los programas de computadora presenta un sistema de ejemplos interesantes de la interpretación Meta-circular para el lenguaje de programación del esquema y las variantes de eso.

Ver también

evaluador Meta-circular
Autorreferencia indirecta
Quine (computación)
adelante
de Uno mismo-recibimiento
que ata con correa
Eval

.

  • Zenithic
  • Gionna Cabrera
    Random links:Península de Almanor del lago, California | Cisapride | Domalde | Carne de hadas | Planes de retiro en los Estados Unidos

  • © 2007-2008 enciclopediaespana.com; article text available under the terms of GFDL, from en.wikipedia.org
    ="http://pagead2.googlesyndication.com/pagead/show_ads.js">