Compilador C-
Compilador completo para a linguagem C- (subconjunto de C), desenvolvido para a disciplina de Compiladores. O projeto envolveu todas as fases clássicas de um compilador: análise léxica, sintática, semântica e geração de código intermediário.
Desafios Técnicos:
- Implementação inicial de lexer usando autômato finito com tabela de transições, demonstrando compreensão dos fundamentos teóricos
- Tentativa de parser descendente recursivo antes de migrar para parser gerado (Bison), evidenciando conhecimento de diferentes abordagens de parsing
- Integração entre Flex (análise léxica) e Bison (análise sintática) para construir pipeline de compilação robusto
- Tratamento de erros e geração de mensagens diagnósticas úteis
Tecnologias:
- C para implementação do compilador
- Flex e Bison para geração de analisadores
- Estruturas de dados para tabela de símbolos e árvore sintática abstrata (AST)
Aprendizados Aplicáveis: Este projeto reforçou a importância de avaliar tradeoffs entre implementação manual (maior controle) versus uso de ferramentas especializadas (maior produtividade). A experiência com compiladores também desenvolveu minha capacidade de modelar problemas complexos através de estruturas de dados adequadas e pensar em termos de transformações sucessivas de representações.