Arquitetura — Sintático
O módulo sintático é responsável por validar a estrutura gramatical do programa a partir dos tokens gerados pelo analisador léxico.
O analisador sintático foi desenvolvido utilizando Bison.
Objetivo
Garantir que o código-fonte siga corretamente as regras gramaticais definidas para o subconjunto da linguagem C suportado pelo compilador.
Responsabilidades
O analisador sintático é responsável por:
- Validar a estrutura gramatical
- Organizar hierarquicamente os comandos
- Reconhecer expressões válidas
- Validar estruturas condicionais e de repetição
- Detectar erros sintáticos
Estruturas Suportadas
Declaração de Variáveis
int x;
float valor;
Atribuições
x = 10;
Estruturas Condicionais
if (x > 0) {
x = x + 1;
}
Estruturas de Repetição
while (x < 10) {
x++;
}
Fluxo Sintático
Tokens
↓
Parser (Bison)
↓
Validação Gramatical
↓
Estrutura Sintática Válida
Ferramenta Utilizada
| Ferramenta | Finalidade |
|---|---|
| Bison | Geração automática do parser |
Estrutura do Arquivo Sintático
parser.y
O arquivo contém:
- Declaração de tokens
- Regras gramaticais
- Precedência de operadores
- Ações semânticas
- Tratamento de erros
Exemplo de Regra
program:
declarations statements
;
Tratamento de Erros Sintáticos
O parser identifica estruturas inválidas e informa a linha do erro.
Exemplo:
Erro sintático na linha 5
Considerações
A gramática foi construída de forma modular, permitindo expansão gradual das estruturas suportadas pelo compilador.
O módulo sintático atua como núcleo central da validação estrutural do sistema.
Histórico de Versões
| Versão | Data | Descrição | Autor(es) |
|---|---|---|---|
1.0 |
30/04/2026 | Criação da documentação do módulo sintático | Arthur Fernandes |