Nota: Me sorprende que esto no se haya preguntado antes, y si lo hubiera hecho, no podría encontrarlo en una búsqueda.
He estado en toneladas de sitios web, he leído toneladas de artículos y he escuchado toneladas de explicaciones. La mayoría de ellos eran buenos, pero todos eran demasiado amplios o demasiado complicados o simplemente malos. Entonces mi pregunta es, ¿cómo funciona un compilador?
Si esta es una pregunta difícil y amplia, por favor dígame. Pero si no, por favor responda la pregunta.
Respuestas:
Un compilador es un programa que traduce el código fuente de otro programa de un lenguaje de programación a código ejecutable.
El código fuente está típicamente 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 la CPU puede ejecutar directamente, o puede ser una representación intermedia que es interpretada por una máquina virtual (por ejemplo, código de bytes Java).
En resumen, un compilador convierte un programa de un formato legible por humanos a un formato legible por máquina.
En cuanto a cómo funciona un compilador, eso es realmente complicado. Hay libros y cursos universitarios sobre el tema. Intentaré describir brevemente las etapas principales del proceso, pero esta será una visión general muy superficial.
Nuevamente, enfatizo que esta es una descripción muy breve. Los compiladores modernos son muy inteligentes y, en consecuencia, muy complicados.
fuente
Un compilador es un programa de computadora (o conjunto de instrucciones) que transforma el código fuente escrito en un lenguaje de programación (el idioma fuente) en otro lenguaje de computadora (el idioma de destino, que a menudo tiene 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.
Los compiladores conectan los programas fuente en lenguajes de alto nivel con el hardware subyacente. Un compilador requiere:
fuente