O Contexto de um Compilador
Para compilar um programa outros programas podem ser necessários para se criar um programa alvo executável. Um programa fonte pode ser dividido em módulos armazenados em arquivos separados.
A tarefa de coletar esses módulos é, algumas vezes, confiada a um programa distinto, chamado de pré-processador. O pré-processador pode, também, expandir formas curtas, chamadas de macros, em enunciados da linguagem fonte.
A Fig. 1.3 mostra uma “compilação” típica. O programa alvo criado pelo compilador pode exigir processamento posterior antes que possa ser executado.
O compilador da Fig. 1.3 cria um código de montagem que é traduzido no de máquina por um montador e, então, ligado a algumas rotinas de biblioteca, formando o código que é efetivamente executado em máquina.
Análise do Programa Fonte
Na compilação, a análise consiste em três fases:
- Análise Linear ou Análise Léxica, também chamada de esquadrinhamento(scanning). É a fase da análise linear, na qual um fluxo de caracteres constituindo um programa é lido da esquerda para a direita e agrupado em tokens, que são sequências de caracteres tendo um significado coletivo.
Tokens são palavras válidas, conhecidos também como lexemas. Exemplos são: WHILE, x1, 23. Também são detectados nesta fase erros léxicos, exemplo: !epa não é um lexema válido em C.
É considerada apenas a relação dos caracteres entre si para a formação do lexema. O relacionamento dos lexemas entre si fica a cargo da análise sintática.
- Análise Hierárquica ou Análise Sintática, também chamada de análise gramatical. Envolve o agrupamento dos tokens do programa fonte em frase gramaticais, que são usadas pelo compilador, a fim de sintetizar a saída.
Usualmente, as frases gramaticais do programa fonte são representadas por uma árvore gramatical.
- Análise Semântica verifica os erros semânticos no programa fonte e captura informações de tipo para a fase subsequente de geração de código.
Faz verificação quanto à compatibilidade de tipos, se um identificador não foi declarado etc.
Fonte http://professor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17389/material/Texto_Parte1.pdf
Livro fonte: Compiladores: princípios, técnicas e ferramentas
Deixe um comentário