Compilador
Martes, 16 Septiembre 
Un compilador é un programa que transforma o código fonte (código escrito normalmente nunha linguaxe de alto nivel) nunha secuencia de instruccións (programa) que será executada por un sistema computacional. O código de alto nivel tamen se designa como código fonte ou source code. O código compilado designase como código obxecto ou obxect code.
A arquictetura convencional dun compilador dividese en Análise e Síntese. A análise pode ser subdividida á súa vez en análise léxica, análise sintática e análise semántica. A Síntese é máis variada, podendo estar composta polas etapas de xeración de código intermedio, optimización de código e xeración de código final (ou código máquina). Somente esta última etapa é obrigatoria.
Nas linguaxes de programación híbridas, o compilador ten o papel de converter o código fonte nun código chamado de “byte code”, que é unha linguaxe de baixo nivel. Un exemplo deste comportamento é o do compilador da linguaxe Java que, en vez de xerar código da máquina hóspede (onde se está executando o compilador), xera un código universal, entendible por calquer “intérprete Java”, chamado Java Byte Code.
Un compilador é un dos dous tipos máis xerais de tradutores, sendo que o segundo tipo que a el debe compararse é un intérprete.
Normalmente, o código fonte está escrito nunha linguaxe de programación de alto nivel, con gran capacidade de abstracción, e o código obxecto nunha linguaxe de baixo nivel, como unha secuencia de instrucións a executar pola CPU(s).
O proceso de compilación componse de análise e síntese. A análise ten como obxectivo entender o código fonte e representalo nunha estrutura intermedia. A síntese constrúe o código obxecto a partir desta representación intermedia.
