sábado, 11 de enero de 2014

Compiladores e intérpretes

Los compiladores e interpretes son los llamados traductores del lenguaje. Estos se encargan de transformar el código fuente escrito en un lenguaje de alto nivel a código máquina. Como indica el título del artículo hay dos tipos de traductores:
- Compiladores
- Intérpretes

Un intérprete es un programa que coge un programa fuente (código fuente), lo traduce a código máquina y acto seguido lo ejecuta línea a línea. Como ejemplo de intérprete tenemos el del lenguaje SmallTalk, un lenguaje orientado a objetos puro.
Antiguamente los más populares eran el Basic y el QBasic que se comercializaban en sistemas operativos DOS de los ordenadores personales.
     El intérprete actuaría así:
          Programa fuente --> Intérprete --> Traducción y ejecución línea a línea.

Por otro lado tenemos los compiladores que son programas que traducen los programas fuente escritos en lenguajes de alto nivel al lenguaje máquina. El código fuente escrito en estos lenguajes se llama programa fuente y el programa traducido programa objeto o código objeto. Un buen compilador típico es el de C o C++ por ejemplo.
Por tanto tenemos que la compilación es el paso de un programa fuente a código objeto. Una vez tenemos el archivo objeto, este por norma general está traducido a código máquina, pero todavía no es ejecutable, para ello tenemos que usar otro programa llamado montador o enlazador (linker). Este proceso (de montaje ) es que el transforma finalmente el programa objeto en un archivo ejecutable por el ordenador. Las fases de compilación por tanto serían las siguientes:
     Programa fuente --> Compilador --> Programa Objeto --> Montador (enlazador) --> Programa ejecutable
Como ejemplo podemos ver las fases de compilación de un programa básico en lenguaje C:
1. Escritura del programa en código fuente:
          #include<stdio.h>
     
          int main(){
               printf("Hola chicos, soy un programa en lenguaje C");
               return 0;
          }
Nota: No hace falta que entendáis todavía este programa porque no estamos hablando del lenguaje C, simplemente baste decir que ese código una vez compilado mostrará por pantalla el mensaje: Hola chicos, soy un programa en lenguaje C.
2. Guardamos el archivo en el disco duro, como, por ejemplo, hola.c
3. Compilamos el programa con el compilador de C : 
una línea típica sería poner en la consola del sistema gcc hola.c 
Nota: normalmente en entornos windows, el ide que utilicemos para programar nos hace todo y no tenemos que poner nada. Simplemente elegir en las opciones de menú compilador y ejecutar código.
4. Al compilar el programa, se verifica la sintaxis por si hay errores en el código, de no ser así el programa se compila y se crea el código objeto y (según el IDE) el ejecutable también.
5. El montador obtendría el programa ejecutable (normalmente un IDE (Entorno de desarrollo integrado hace el paso 4 y 5 a la vez)
6. Ejecución del programa en el ordenador.
Podemos ver todos los pasos en este diagrama:

Y con esto terminamos lo que sería una introducción básica a como se escribe  y se ejecuta un programa en el ordenador.
La siguiente entrada tratará sobre los tipos de datos y las operaciones básicas en los algoritmos.

No hay comentarios:

Publicar un comentario