¿Qué es un idioma intermedio?

En la programación de computadoras, cuando un compilador analiza el código fuente legible por humanos, el compilador a menudo traduce los comandos de origen en una secuencia de instrucciones que no son el código de la máquina nativa pero que pueden ser procesados, optimizados o compilados por el compilador u otras herramientas de software. Los archivos que se producen contienen instrucciones que se dice que están en un lenguaje intermedio, porque el lenguaje utilizado por el compilador no es significativo para el sistema operativo más grande ni el lenguaje utilizado por el programador para escribir el código en primer lugar, pero en cambio es un lenguaje que actúa como un puente entre la escritura y la ejecución del programa. A veces se usa un lenguaje intermedio para permitir que un compilador haga optimizaciones muy precisas para que el programa se ejecute de manera más eficiente, pero también se puede usar para producir archivos de salida que son portátiles entre diferentes sistemas incompatibles. La sintaxis real del lenguaje puede parecerse al código de la máquina u otros tipos de R no humanosBytecode Eadable, o el lenguaje puede ser solo un lenguaje de programación de computadoras multiplataforma existente.

Cuando se usa para la optimización del compilador, un compilador de idiomas toma cada declaración en un archivo de código fuente y descompone el comando en el idioma intermedio. Una sola declaración de programación legible por humanos puede descomponerse en docenas de instrucciones de lenguaje de máquina, por lo que el lenguaje intermedio crea un nivel de abstracción que el compilador puede usar para identificar áreas del código donde las optimizaciones se pueden hacer sin tener primero que vincule el código a cualquier implementación o biblioteca nativa. Una vez completado, el archivo de código intermediario se puede compilar más a fondo para hacer un archivo binario nativo, o se puede ejecutar a través de otro programa, conocido como intérprete, que ejecutará el código al compilarlo en instrucciones nativas según sea necesario.

Algunos idiomas, como Java®, usan una intermediaDiate Language para crear archivos compilados que están optimizados pero también portátiles a otros sistemas informáticos. Este tipo de código a veces se conoce como Bytecode y se asemeja al código de máquina o al lenguaje de ensamblaje. Bytecode se almacena en archivos de una manera independiente de la plataforma, lo que significa que puede transferirse a cualquier sistema o dispositivo informático que pueda ejecutar un intérprete. Una vez que el Bytecode está en un sistema, se puede ejecutar como un programa interpretado o se puede compilar para ejecutarse de forma nativa en el sistema de destino.

En algunos casos, un lenguaje informático está diseñado para que sea fácil programar hacia un final específico, como una aplicación web interactiva, pero los diseñadores no desean incluir compiladores personalizados, intérpretes o complementos para diferentes sistemas. En estos casos, el lenguaje intermedio del compilador puede ser un lenguaje existente que ya ha establecido intérpretes multiplataforma. El lenguaje intermedio resultante en este caso es legible por humanos. Un ejemplo de un programa de computadorasEl lenguaje NG que también se usa como lenguaje intermedio es JavaScript®, que tiene la ventaja de poder ejecutarse en casi cualquier navegador web en cualquier plataforma, a partir de 2011.

OTROS IDIOMAS