Fundamentos de Compiladores: Autômatos, Análise e Parsing
Classificado em Computação
Escrito em  em 
português com um tamanho de 2,95 KB
Autômato com Pilha (AP) e Linguagens Livres de Contexto
- Linguagens Livres de Contexto (LLC) compreendem um universo mais amplo do que as linguagens regulares.
 - As LLCs são geradas pelas Gramáticas Livres de Contexto e reconhecidas por um Autômato com Pilha (AP), que possui memória auxiliar do tipo pilha.
 
Estrutura do Autômato com Pilha
O Autômato com Pilha é uma máquina construída por 4 partes:
- Fita: Dispositivo de entrada.
 - Unidade de Controle: Reflete o estado atual da máquina.
 - Programa ou Função de Transição: Comanda leituras e define o estado da máquina.
 - Pilha: Memória auxiliar sem limites de tamanho.
 
Reconhecimento da Palavra
O reconhecimento de uma palavra pode resultar em três cenários:
- O autômato para e a palavra é reconhecida (aceita).
 - O autômato para e a palavra é rejeitada.
 - O autômato fica em loop infinito.
 
Análise Léxica e Expressões Regulares
As análises léxica, sintática e semântica são etapas cruciais na construção de compiladores.
- Compilador
 - Tradutor que recebe o código fonte de uma linguagem e cria o código objeto em outra linguagem.
 - Processo de Compilação (Análise e Síntese)
 Análise: São realizadas as análises léxica, sintática e semântica do código fonte, gerando uma representação intermediária.
Síntese: Um código objeto é criado a partir da representação intermediária.
- Análise Léxica
 - Lê o código fonte caractere por caractere e retorna os padrões de caracteres (tokens) encontrados. Suas três atividades fundamentais são:
 
- Extrair e classificar tokens.
 - Eliminar delimitadores e comentários.
 - Recuperar alguns erros.
 
- Token
 - Descreve um padrão de caracteres do código fonte que possui significado. Tokens podem ser definidos por expressões regulares e identificados por autômatos finitos.
 - Expressão Regular
 - É um modo declarativo de expressar as palavras que são aceitas por uma linguagem.
 - Análise Semântica
 - Analisa o significado de uma sentença dentro de um contexto e gera a representação intermediária.
 
Análise Sintática e Árvores de Derivação
- Análise Sintática (Parsing)
 - Realiza a análise gramatical das sentenças e cria as árvores de derivação.
 - Árvores de Derivação
 - São estruturas usadas para representar graficamente as palavras de uma linguagem, seguindo as regras de produção da gramática. São essenciais para a análise sintática realizada pelos compiladores.