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.