Um compilador traduz um programa escrito numa linguagem de alto nível para um programa escrito numa linguagem de nível inferior. Para os estudantes de informática, construir um compilador a partir do zero é um rito de passagem: um projeto desafiante e divertido que oferece uma visão sobre muitos aspectos diferentes da informática, alguns profundamente teóricos e outros altamente práticos. O livro combina uma explicação completa da teoria por detrás da abordagem contemporânea à conceção de compiladores com vários exemplos do mundo real, bem como uma descrição abrangente de um pequeno compilador de linguagem completo com código fonte. Foi especialmente concebido para ser utilizado num curso avançado de licenciatura que introduza a conceção de compiladores ou o desenvolvimento de compiladores. No entanto, uma vez que tenta fornecer ao leitor todas as ferramentas e experiência prática necessárias para conceber e programar um compilador real, também será útil para profissionais que iniciem ou se juntem a um projeto de escrita de compiladores.