Compiladores/Aula Prática 02
From Wiki**3
Tópicos
Revisões de conceitos de padrões de desenho aplicados no contexto da linguagem C++, especialmente, mas sem limitação, Composite, Visitor (Abstract Factory, Strategy são deixados como trabalho para casa).
Aplicação ao padrão Composite no contexto do projecto: AST ("abstract syntax tree"), nomeadamente na especificação dos nós da árvore.
Compiler AST Nodes
- Considerar a descrição do analisador sintáctico (tiny.y) para a linguagem Tiny, descrita em: Semantic Analysis/The Tiny language: semantic analysis example and C generation.
- Com base nos nós da CDK (ver ast), construir os nós para as declarações e para a instrução write (nós declaration_node e write_node). Os resultados devem ser parecidos com os presentes no compilador da linguagem Og para as situações análogas.
- Lista de nós da CDK e do Simple.
- Vídeos sobre estes tópicos e sobre o repositório GIT:
- Linguagem P6 (2025/2026): https://youtu.be/KvnG6CQjN-E (parte 1) https://youtu.be/iP8TIWFIztc (parte 2)
- Linguagem UDF (2024/2025): https://youtu.be/dywEh5mfQTo
- Linguagem TIL (2023/2024): (ver MML)
- Linguagem MML (2022/2023): https://youtu.be/xkDKt4sU32k
- Linguagem L22 (2021/2022) e CVS (obsoleto): https://youtu.be/NN1_MIKgxGw
- Linguagem FIR e CVS (obsoleto): https://youtu.be/h95WRzwiAME
Exercícios
- Exemplos (soluções dos exercícios de avaliação)
Sheep and Herds
- Problem and solution: Sheep and Herds in C++.