¿Qué es un compilador?

Un compilador es un tipo especial de programa de computadora que traduce un archivo de texto legible en humanos en un formulario que la computadora puede entender más fácilmente. En su nivel más básico, una computadora solo puede comprender dos cosas, un 1 y un 0. En este nivel, un humano funcionará muy lentamente y encontrará la información contenida en la larga cadena de 1s y 0 incomprensibles. Un compilador es un programa de computadora que une esta brecha.

Al principio, los compiladores eran programas muy simples que solo podían traducir símbolos en los bits , los 1 y 0, la computadora entendió. Los programas también fueron muy simples, compuestos por una serie de pasos que se tradujeron originalmente a mano en datos que la computadora podía entender. Esta fue una tarea muy lento, por lo que partes de esta tarea fueron automatizadas o programadas, y se escribió el primer compilador. Este programa ensamblado o compilado, los pasos necesarios para ejecutar el programa paso a paso.

Estos compiladores simples se usaron para escribir uncompilador más sofisticado. Con la versión más reciente, se podrían agregar más reglas al programa del compilador para permitir una estructura de lenguaje más natural para que el programador humano opere. Esto facilitó los programas de escritura y permitió que más personas comenzaran a escribir programas. A medida que más personas comenzaron a escribir programas, se ofrecieron más ideas sobre programas de escritura y se usaron para hacer compiladores más sofisticados. De esta manera, los programas de compiladores continúan evolucionando, mejorando y se vuelven más fácil de usar.

Los programas del compilador también pueden ser especializados. Ciertas estructuras de idiomas son más adecuadas para una tarea particular que otras, por lo que se desarrollaron compiladores específicos para tareas o idiomas específicos. Algunos compiladores son multamaza o múltiples pases . Un primer pase podría tomar un lenguaje muy natural y acercarlo a un lenguaje comprensible de una computadora. Un segundo o incluso un tercer pase podría tAke a la etapa final, el archivo ejecutable.

La salida intermedia en un compilador de varias etapas generalmente se llama pseudo-código , ya que la computadora no puede usar. El pseudocódigo está muy estructurado, como un programa de computadora, no de flujo libre y detallado como un lenguaje más natural. La salida final se llama archivo ejecutable , ya que es lo que realmente es ejecutado o ejecutado por la computadora. La división de la tarea de esta manera hizo que sea más fácil escribir compiladores más sofisticados, ya que cada tarea subterránea es diferente. También facilitó que la computadora señalara dónde tenía problemas para entender lo que se le pidió que hiciera.

Los errores que limitan el compilador en la comprensión de un programa se llaman errores de sintaxis . Errores en la forma en que las funciones del programa se llaman errores de lógica . Los errores lógicos son mucho más difíciles de detectar y corregir. Los errores de sintaxis son como errores de ortografía, mientras que los errores lógicos son un poco más como errores gramaticales.

También se han desarrollado programas de compiladores cruzados. Un compilador cruzado permite un conjunto de instrucciones de texto de texto que está escrito para una computadora diseñada por un fabricante específico para ser compilado y ejecutado para una computadora diferente por un fabricante diferente. Por ejemplo, un programa que se escribió para ejecutarse en una computadora Intel a veces se puede compilar cruzado para ejecutar una computadora desarrollada por Motorola. Esto con frecuencia no funciona muy bien. En el nivel en el que funcionan los programas de computadora, el hardware de la computadora puede verse muy diferente, incluso si pueden parecer similares a usted.

La compilación cruzada es diferente de hacer que una computadora emule otra computadora. Si una computadora está emulando una computadora diferente, pretende ser esa otra computadora. La emulación es frecuentemente más lenta que la compilación cruzada, ya que dos programas se ejecutan a la vez, el programa que pretende ser la otra computadora y el programa que se está ejecutando. Sin embargo, para que la compilación cruzada funcione, necesita ambosEl texto del lenguaje natural original que describe el programa y una computadora que es suficientemente similar a la computadora original que el programa puede funcionar para ejecutar en una computadora diferente. Esto no siempre es posible, por lo que ambas técnicas están en uso.

OTROS IDIOMAS