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:

  1. O autômato para e a palavra é reconhecida (aceita).
  2. O autômato para e a palavra é rejeitada.
  3. 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:
  1. Extrair e classificar tokens.
  2. Eliminar delimitadores e comentários.
  3. 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.

Entradas relacionadas: