Definición

 ¿Qué es un compilador? 

Los compiladores son programas que aparecen en el mundo de la informática como una necesidad de los desarrolladores de ahorrarse trabajo. Para ser claros, el compilador es un traductor, el cual su  función principal es convertir un programa escrito en un lenguaje de programación de alto nivel (lenguaje fuente) en un programa equivalente en un lenguaje de bajo nivel (lenguaje destino), generalmente código de máquina que puede ser ejecutado directamente por el hardware.

Durante el proceso de compilación, el compilador realiza varias tareas cruciales:

  1. Traducción: El compilador toma el código fuente escrito en el lenguaje de alto nivel y lo convierte a instrucciones en el lenguaje de bajo nivel. Esta traducción involucra un análisis exhaustivo del código de entrada para generar el programa equivalente en el lenguaje destino.
  2. Detección y reporte de errores: Además de la traducción, el compilador tiene la importante función de identificar y notificar cualquier error que se encuentre en el código fuente durante el proceso de conversión. Esto permite a los desarrolladores corregir problemas antes de la ejecución del programa.

La ventaja principal de usar un compilador es que el software producido en el lenguaje final se ejecuta de forma más eficaz y veloz que si se interpretara directamente el código original. Esto ocurre porque el compilador lleva a cabo la traducción total antes de la ejecución, mejorando el código para su máximo rendimiento.



Figura 1.Esquema de funcionamiento básico de un compilador.
Fuente: Busca Mi Negocio. (n.d.). Funcionamiento de un compilador [Imagen]. Recuperado de https://www.buscaminegocio.com/img/funcionamiento-compilador.png


En el esquema del funcionamiento básico del compilador  tenemos ejemplificada la traducción del compilador, en el cual inicia por la entrada del código fuente, si este código está correcto se compila y se produce la salida del código objeto que es el código máquina, si el código no está bien escrito el compilador marca el error, como se muestra en la figura 1. 


Las fases de un compilador:

Un compilador se compone internamente de varias etapas, o fases, cada una con un propósito específico,la estructura del compilador se muestra en la figura 2:

Figura 2. Estructura de un compilador.

Fuente:Rx de un Compilador. (s. f.). https://www.investigacion.frc.utn.edu.ar/labsis/publicaciones/invesdes/compiladores/rxc.htm


La descripción de estas fases es la siguiente:

1.Análisis léxico :En esta fase el compilador se encarga de dividir  el código fuente en  tokens. Cada token representa una unidad mínima de información, como palabras clave, identificadores o símbolos. Lo que hace el compilador es identificar sus componentes.

2.Análisis sintáctico :En esta fase  verifica que los tokens estén organizados de acuerdo con las reglas del lenguaje de programación. Verifica la estructura del código para ver si cumple con las reglas del lenguaje. En caso de que no cumpla genera un mensaje de error 

3.Análisis semántico :En esta fase se realizan las verificaciones necesarias sobre el árbol sintáctico para garantizar que el programa tenga un significado válido y coherente.

4. Generación de código intermedio: Una vez que el código es válido, se convierte en una representación intermedia, más cercana al lenguaje máquina pero todavía independiente de la computadora en la que se ejecutará.

5.Optimización de código: En esta fase, mejora la eficiencia del código intermedio. Reduce el número de instrucciones, optimiza el uso de memoria o acelerar el tiempo de ejecución.

6.Generación de código objeto: El código intermedio optimizado se traduce finalmente al código objeto, es decir que es la etapa final donde genera el código objeto.



Para comprender más sobre el compilador se deja un link de un video que explica con mayor claridad 

Ana Gabriela. (2017, 25 junio). Que es un compilador y como funciona? [Vídeo]. YouTube. https://www.youtube.com/watch?v=5I_0N7S41HQ






 



Referencias:
Unknown. (2015, 17 febrero). 1.7 Fases de un compilador. https://lenguajesyautomatasitsh.com/2015/02/17-fases-de-un-compilador.html






Comentarios

Entradas más populares de este blog

INTRODUCCION