Descrição
O compilador é uma ferramenta que converte, de uma forma eficiente, programas descritos por linguagens de alto nível em linguagem-máquina. O compilador é determinante no desempenho das aplicações, já que quase todo o código executado é compilado. A geração de código-máquina é precedida de uma fase de análise do programa para garantir a sua correção e construir uma estrutura que o represente. Num compilador, o processo de análise permite compreender muitas das limitações das linguagens de programação. Por outro lado, a geração de código permite compreender como os compiladores utilizam os processadores e a forma como a evolução dos processadores tem feito evoluir os compiladores.
O livro aborda os diversos passos do desenvolvimento de um compilador. Todo o processo de desenvolvimento é exemplificado, em C e Java, para uma linguagem de exemplo simples, com recurso às ferramentas lex, yacc, antlr e burg.
Destaques:
- Conheça o funcionamento interno de um compilador;
- Compreenda quais as razões de algumas limitações das linguagens compiladas;
- Acompanhe o desenvolvimento de um compilador simples, em C e em Java, com geração de código para bytecodes Java, MSIL .net, Pentium e arm;
- Domine os compiladores de compiladores lex, yacc, antlr e burg.
Principais Tópicos:
Parte I – Análise Determinista de Linguagens
- Análise lexical
- Gramáticas livres de contexto
- Análise sintática descendente
- Análise sintática ascendente por tabela
- Gramáticas atributivas
- Análise semântica
- Projeto de análise
Parte II – Geração de Código
- Ambiente de execução de programas
- Representação de código intermédio
- Geração de código intermédio
- Geração de código final para máquinas de pilha
- Seleção e escalonamento de instruções
- Reserva de registos
- Análise de fluxo
Mais informação no website da FCA
Sem comentários:
Enviar um comentário