Compiladores
Atualmente, a existência de compiladores é massiva, tendo em vista as milhares de linguagens fontes existentes, tanto as mais antigas quando as que emergiram virtualmente em todas as áreas de aplicações de computadores. Além disso, as linguagens objeto são tão variadas quando as linguagens fontes, podendo ser uma outra linguagem de programação ou a linguagem de máquina de qualquer coisa entre um microprocessador e um supercomputador. As tarefas básicas que qualquer compilador precisa executar são essencialmente as mesmas, e, compreendendo-as, é possível construir compiladores para uma ampla variedade de linguagens usando as mesmas técnicas básicas. O primeiro compilador consumiu 18 homens-ano para ser implementado. Com o avanço da tecnologia e o conhecimento adquirido sobre compiladores, atualmente, um compilador pode ser escrito por estudantes num período de um semestre. O compilador tem esse nome por razões históricas. Nos primeiros anos da programação automática, existiam programas que percorriam bibliotecas de sub-rotinas e as reunia juntas, ou compilava, as sub-rotinas necessárias para executar uma determinada tarefa. Existem duas partes na compilação: a análise e a síntese. A parte de análise subdivide o programa fonte em partes constituintes e impõe uma estrutura gramatical sobre