PEDRO REIS SANTOS / THIBAULT LANGLOIS
10% de descontoInformática
ISBN: 9789727227686
Editora: FCA
Ano/Mês: /.
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 correção do mesmo 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, incluindo: · 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; · A linearização das instruções para a geração de código direto para máquinas de pilha; · A seleção e o escalonamento das instruções, bem como a reserva de registos, para máquinas de registos uniformes;· A otimização do código resultante, com base na análise do fluxo de controlo e de dados.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.Este livro é dirigido aos estudantes de nível universitário e profissional, produtores de software, programadores e utilizadores em geral que pretendam compreender de que forma o compilador converte programas descritos por linguagens de alto nível em código executável.Este livro disponibiliza ainda a correspondência dos principais termos técnicos para o Português do Brasil.Principais temas abordados:•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
Livros da mesma categoria que lhe podem interessar.