El funcionamiento del compilador no es fácil de explicar en una frase. La mejor forma es usar un ejemplo.
Un compilador es un programa de computadora que transforma el código fuente escrito en un lenguaje de programación de alto nivel en un lenguaje de nivel inferior.
Básicamente, un compilador consta de las siguientes fases: análisis léxico, análisis de sintaxis, análisis semántico, generación de infrarrojos, optimización de infrarrojos, generación de código, optimización.
Dado un programa de muestra:
A continuación se muestra la salida de cada fase.
1. Análisis léxico
Convierta un programa en una secuencia de tokens.
2. Análisis de sintaxis
Recupere la estructura descrita utilizando una serie de tokens del escáner anterior.
3. Análisis semántico
Asegura que el programa tenga un significado bien definido.
4. Generación de infrarrojos
5. Optimización de infrarrojos
6. Generación de código
7. Optimización
Estaba pensando en dibujar un diagrama que pueda mostrar claramente cómo funciona un compilador. Sin embargo, encontré que el diagrama en el libro del dragón es muy bueno, ya no es necesario trabajar más con el diagrama.
Todavía quiero hacer un pequeño compilador que compile una función simple de principio a fin. Investigaré un poco y posiblemente encontraré una buena solución para una demostración clara.
Referencias:
1. Conferencia del compilador de Standford
2. Libro del dragón