Estructura de un compilador