IF688 - Teoria e Implementação de Linguagens Computacionais
Análise Semântica - ASTs e Visitors
Objetivo
O objetivo desta aula é introduzir o conceito de árvores sintáticas abstratas (abstract syntax trees - AST) e apresentar os conceitos fundamentais relacionados à extração de informação a partir de árvores sintáticas abstratas, usando o padrão de projeto Visitor, que permite implementar diferentes interpretações de ASTs.
Questões para Discussão
- Quais as limitações de gramáticas livres de contexto?
- Que tipo de erro ou problema não pode ser capturado pelas fases de análise léxica e sintática?
- Qual a diferença entre árvores sintáticas concretas e abstratas?
- Quais as diferentes formas de modularizar a implementação de operações que permitam extrair informações de ASTs?
- Como separar sintaxe de interpretação ao implementar ASTs e operações sobre ASTs?
- Qual a intuição do padrão de projeto Visitor?
Material usado em aula
Vídeos
Links Relacionados