Compiladores: da teoria à prática é voltado para estudantes de nível universitário e profissional, desenvolvedores de software, programadores e usuários em geral que necessitem compreender como o compilador converte em códigos executáveis programas descritos por linguagens de alto nível. Apresenta o compilador como ferramenta determinante no desempenho das aplicações e explica a interligação entre linguagens, processadores, arquiteturas e sistemas operacionais. O livro aborda os diferentes passos do desenvolvimento de um compilador, como a análise determinista linear com autômatos finitos, para linguagens regulares, e autômatos de pilha, para uma análise ascendente e descendente; a realização de verificações semânticas e a construção da árvore sintática do programa analisado; e a linearização das instruções para a geração de código direto para máquinas de pilha. Trata, também, da seleção e do escalonamento das instruções, bem como da reserva de registros, para máquinas de registros uniformes, além da otimização do código resultante com base na análise do fluxo de controle e de dados. Desse modo, de forma didática e objetiva, a obra revela os desafios das linguagens e das arquiteturas atuais, preparando o leitor para enfrentar, nessa área de atuação, novos obstáculos que, inevitavelmente, surgirão no futuro.