Compiladores
Autor: Vinícius Meyer , Cynthia da Silva Barbosa , Maikon Lucian Lenz , Paulo Sérgio Pádua de Lacerda , Ricardo César Ribeiro dos Santos , Victor de Andrade Machado , Carlos Estevão Bastos Sousa , Nicolli Souza Rios Alves , Rafael Leal Martins , Renata Junges Padilha , Roque Maitino Neto
LIVRO IDEAL PARA
Alunos de graduação em Engenharia de Software.
SOBRE O LIVRO
Este livro apresenta conceitos fundamentais relacionados à construção de compiladores e interpretadores, que influenciam muitas aplicações práticas da computação e são essenciais a qualquer profissional que deseje atuar de maneira coerente e produtiva.
Resumo
O desenvolvimento de sistemas de software é sustentado por uma ampla variedade de linguagens de programação, frameworks, bibliotecas e APIs — desde sistemas embarcados, aplicativos para dispositivos móveis e aplicativos para web, até os aplicativos mais tradicionais para desktop. Todos eles têm em comum o fato de serem escritos em linguagens de alto nível que precisam de tradução/compilação para uma linguagem de baixo nível. Essa linguagem de baixo nível é, então, compreendida pela máquina ou executada/interpretada diretamente dentro de um ambiente adequado. Neste livro, você vai conhecer as técnicas e as ferramentas necessárias para a construção de compiladores e interpretadores. Entre outros tópicos, serão abordadas a definição formal de linguagens por meio de expressões regulares e gramáticas; a especificação de reconhecedores de linguagens via autômatos de diferentes tipos; as etapas de análise léxica, sintática e semântica; bem como a geração e a otimização de código.
Referência
BARBOSA, C. S. et al. Compiladores. Porto Alegre: SAGAH, 2021.
Informações técnicas
eBook
Formato ePDF
Páginas 278
ISBN 9786556902906
Ano 2021
Equipe técnica
Júlio Henrique Araújo Pereira Machado, Mestre em Ciência da Computação
Sumário
Introdução a compiladores
Sintaxe de linguagens de programação
Semântica de linguagens de programação
Análise léxica
Implementação de analisadores léxicos
Análise sintática
Implementação de analisadores sintáticos
Análise semântica
Síntese de código
Geração de código intermediário
Geração de código de máquina
Otimização de código
Otimização por análise de fluxo
Organização de memória
Estudo de caso: Xtext
Estudo de caso: JetBrains MPS