Que es un compilador en programacion

Compilador e intérprete

En informática, un compilador es un programa informático que transforma el código fuente escrito en un lenguaje de programación o informático (el lenguaje fuente), en otro lenguaje informático (el lenguaje de destino, que suele tener una forma binaria conocida como código objeto o código máquina). La razón más común para transformar el código fuente es crear un programa ejecutable.
Cualquier programa escrito en un lenguaje de programación de alto nivel debe ser traducido a código objeto antes de poder ser ejecutado, por lo que todos los programadores que utilizan un lenguaje de este tipo utilizan un compilador o un intérprete. Por tanto, los compiladores son muy importantes para los programadores. Las mejoras en un compilador pueden dar lugar a un gran número de características mejoradas en los programas ejecutables.
El Compilador-Compilador de Calidad de Producción, a finales de los años 70, introdujo los principios de organización de los compiladores que aún se utilizan ampliamente en la actualidad (por ejemplo, un front-end que maneja la sintaxis y la semántica y un back-end que genera el código máquina).
El software para los primeros ordenadores se escribía principalmente en lenguaje ensamblador. Suele ser más productivo para un programador utilizar un lenguaje de alto nivel, y los programas escritos en un lenguaje de alto nivel pueden reutilizarse en diferentes tipos de ordenadores. Aun así, los compiladores tardaron en consolidarse, porque generaban un código que no funcionaba tan bien como el ensamblador escrito a mano, eran proyectos de desarrollo desalentadores por sí mismos y la capacidad de memoria muy limitada de los primeros ordenadores creaba muchos problemas técnicos para las implementaciones prácticas de los compiladores.

Programa de objeto-ori…

Este artículo necesita citas adicionales para su verificación. Por favor, ayude a mejorar este artículo añadiendo citas de fuentes fiables. El material sin fuente puede ser cuestionado y eliminado.Buscar fuentes:  «Lista de compiladores» – noticias – periódicos – libros – erudito – JSTOR (mayo de 2017) (Aprende cómo y cuándo eliminar este mensaje de la plantilla)
Los compiladores de investigación no son, en su mayoría, lo suficientemente robustos o completos como para manejar aplicaciones reales de gran tamaño. Se utilizan sobre todo para la creación rápida de prototipos de nuevas características del lenguaje y nuevas optimizaciones en áreas de investigación.

Palabra reservada

He visitado montones de páginas web, he leído montones de artículos y he escuchado montones de explicaciones. La mayoría de ellas eran buenas, pero todas eran demasiado amplias o demasiado complicadas o simplemente malas. Así que mi pregunta es, ¿cómo funciona un compilador?
El código fuente suele estar en un lenguaje de programación de alto nivel (por ejemplo, Pascal, C, C++, Java, Perl, C#, etc.). El código ejecutable puede ser una secuencia de instrucciones de máquina que puede ser ejecutada por la CPU directamente, o puede ser una representación intermedia que es interpretada por una máquina virtual (por ejemplo, el código de bytes de Java).
En cuanto al funcionamiento de un compilador, es realmente complicado. Hay libros y cursos universitarios sobre el tema. Intentaré esbozar brevemente las principales etapas del proceso, pero será una visión muy somera.
Un compilador es un programa informático (o conjunto de instrucciones) que transforma el código fuente escrito en un lenguaje de programación (el lenguaje fuente) en otro lenguaje informático (el lenguaje de destino, que suele tener una forma binaria conocida como código objeto). La razón más común para querer transformar el código fuente es crear un programa ejecutable.

Java

Un compilador es un programa informático que ayuda a transformar el código fuente escrito en un lenguaje de alto nivel en un lenguaje de máquina de bajo nivel. Traduce el código escrito en un lenguaje de programación a otro lenguaje sin cambiar el significado del código. El compilador también hace que el código final sea eficiente y esté optimizado en cuanto a tiempo de ejecución y espacio de memoria.
El proceso de compilación incluye mecanismos básicos de traducción y detección de errores. El proceso de compilación pasa por el análisis léxico, sintáctico y semántico en el extremo delantero, y por la generación y optimización del código en el extremo trasero.