Processadores de Linguagens
Por: Everson Borges • 16/6/2018 • Resenha • 590 Palavras (3 Páginas) • 181 Visualizações
Resumo do capítulo 1 do livro.
Processadores de linguagem:
Um compilador é um programa de computador (ou um grupo de programas) que, a partir de um código fonte escrito em uma linguagem compilada, cria um programa semanticamente equivalente, porém escrito em outra linguagem, código objeto (código de máquina)
Interpretadores são programas de computador que leem um código fonte de uma linguagem de programação interpretada e o converte em código executável. Seu funcionamento pode variar de acordo com a implementação.
O programa objeto traduzido para linguagem de máquina por um compilador é mais rápido de mapear do que um interpretador, porém um interpretador oferece um diagnóstico de erro mais eficiente, pois executa o programa fonte instrução por instrução.
A estrutura de um compilador:
No compilador existe duas partes que fazem parte do processo de mapeamento: análise e síntese.
A análise e a síntese fazem parte do processo de mapeamento do compilador.A análise subdivide o programa fonte em partes constituintes e impõe uma estrutura gramatical sobre elas.
A partir dessa estrutura é criada uma representação intermediária do programa fonte. Se detectado erro na síntese ou na semântica, será necessário fornecer um feedback ao usuário para o usuário para devidas correções. São coletadas informações no programa fonte e inserido na Tabela de Símbolos.
Já a síntese constrói o programa objeto através da representação intermediária e das informações obtidas da Tabela de Símbolos. A análise normalmente é conhecida como front-end do compilador e a síntese é o back-end.
Análise Léxica:
É a primeira fase do compilador que também é conhecida como scanning. Analisa a entrada de linhas de caracteres e produzir uma sequência de símbolos chamado lexemas. Para cada lexema é produzido como saída um token.
Análise Sintática:
É a segunda fase do compilador. É a parte da gramática que estuda a disposição das palavras na frase e das frases no discurso, incluindo a sua relação lógica, entre as múltiplas combinações possíveis para transmitir um significado completo e compreensível. Nessa fase é utilizados os primeiros componentes dos tokens produzidos pelo analisador léxico para criar uma representação intermediária tipo árvore que mostra a estrutura gramatical da sequência dos tokens.
Análise semântica:
Análise semântica é a terceira fase da compilação onde se verificam os erros semânticos, (por exemplo, fazer a divisão de um número inteiro por outro numero float, na linguagem C padrão ANSI)) no código fonte e coletam-se as informações necessárias para a próxima fase da compilação, que é a geração de código objeto. Nesta fase são utilizadas as informações da Tabela de Símbolos e a árvore de sintaxe para verificar a consistência semântica do programa fonte.
Geração de Código Intermediário:
...