Compiler
Un compilador traduce código fuente a código objeto (código máquina/bytecode) mediante análisis léxico, sintáctico y semántico, optimización y generación de código.
Propósito
Comprender cómo los lenguajes de alto nivel se transforman en código ejecutable y cómo funciona la optimización.
Mecanismo
Frontal: análisis léxico a tokens, análisis sintáctico a AST, análisis semántico con verificación de tipos. Etapa media: optimización del IR (inlining, plegado de constantes, desenrollado de bucles). Etapa final: asignación de registros, selección de instrucciones y generación de código.
Casos de uso
- Implementación de lenguajes
- Optimización de código
- Teoría de compilación