Compiladores: Princípios, Técnicas e Ferramentas