Escolar Documentos
Profissional Documentos
Cultura Documentos
Compiladores
Capitulo 1
A compilação e composta por duas fases: síntese e análise.
A análise e composta por 3 fases: análise linear, análise hierárquica e semântica.
Compiladores 1
Interface Retaguarda
Retaguarda inclui as fases de analise, gerencia da tabela e código intermediário .
Interface Vanguarda
Vanguarda incluem fase e otimização e geração de código além de ter o tratamento de erros
A análise semântica verifica potenciais erros semânticos no programa alvo
Compiladores são programas que transformam um código fonte em uma linguagem de
programação em um programa executável. O processo de compilação envolve várias etapas,
como análise léxica, análise sintática, análise semântica, geração de código e otimização.
A análise léxica é a primeira etapa do processo de compilação. Ela consiste em analisar o código
fonte e identificar os tokens, ou seja, as unidades léxicas que compõem o código, como palavras-
chave, identificadores, operadores e símbolos.
O analisador léxico percorre o código fonte caractere por caractere e forma os tokens de acordo
com as regras da linguagem de programação. Se o código fonte contém erros léxicos, o
analisador léxico gera mensagens de erro indicando a linha e a coluna onde o erro ocorreu.
Após a análise léxica, os tokens são passados para a análise sintática, que verifica se a estrutura
do código fonte está correta e se ele segue as regras gramaticais da linguagem de programação.
A análise sintática constrói uma árvore de análise sintática (AST), que representa a estrutura do
código fonte e é usada na etapa seguinte do processo de compilação, a análise semântica.
Compiladores 2
A análise sintática é a segunda etapa do processo de compilação. Ela consiste em verificar se a
estrutura do código fonte está correta e se ele segue as regras gramaticais da linguagem de
programação. A análise sintática constrói uma árvore de análise sintática (AST), que representa a
estrutura do código fonte e é usada na etapa seguinte do processo de compilação, a análise
semântica.
Capitulo 2
2. Um conjunto de não-terminais
Compiladores 3
Compiladores 4
Compiladores 5
2.3 Definições traduzidas pela sintaxe
Compiladores 6
Uma definição traduzida pela sintaxe usa a gramatica livre de contexto
Um atributo é dito sintetizado se seu valor depende apenas dos valores dos
atributos dos nós filhos de seu nó na árvore gramatical
Os atributos sintetizados podem ser computados por meio de uma travessia por
profundidade(DFS).
Compiladores 7
Um esquema de tradução é uma gramatica livre de contexto, na qual fragmentos de
programa, denominados ações semânticas , são inseridos no lado direitos das produções.
Compiladores 8
Compiladores 9
Uma análise gramatical descendente recursiva é um método top-down de análise sintática na
qual são executadas procedimentos recursivos para processar a entrada.
Compiladores 10
2.5 Um tradutor para expressões simples
Se uma gramatica tiver uma ou mais produções à esquerda, e preciso modificar a gramatica
antes de fazer o analisador gramatical preditivo.
Compiladores 11
Quando não há associação de atributos aos não-terminais, um tradutor dirigido pela sintaxe
pode ser construído a partir da extensão de um analisador gramatical preditivo
Compiladores 12
O analisador léxico e o gramatical formam um par produto-consumidor.
As fases de análise coletam informações que são usadas nas fases de síntese para a geração
do programa alvo
Compiladores 13
2.7 Incorporando uma tabela de símbolos
As fases de análise coletam informações que são usadas nas fases de síntese para a geração
do programa alvo
Compiladores 14
Compiladores 15
Compiladores 16
Compiladores 17