Você está na página 1de 1

Relatório Compiladores

Ândrey Galvão Mendes - 18/0097911


Grupo 2
3 de maio de 2023

1 Analisador Léxico
Durante o primeiro módulo foi realizada a construção do analisador léxico, e desde o inı́cio
todos os integrantes do grupo se envolveram com a realização de cada atividade em cada
um dos módulos, de modo que a participação de cada um foi semelhante.
Por já conhecer algumas ideias de RegEx, que foi utilizado nesta etapa, não encontrei
muita dificuldade, mas encontrei também coisas novas que não conhecia, como a existência
e funcionalidade de alguns metacaracteres.

2 Analisador Sintático
Utilizamos então o software Yacc (Yet Another Compiler Compiler) em conjunto com o
GNU Bison para fazermos o analisador sintático. O que levou um tempo para entender
como utilizar, mas depois de ler sobre o assunto, principalmente o texto encontrado aqui,
foi possı́vel concluir o que nos foi proposto.

3 Analisador Semântico
Durante o módulo 3, utilizamos a linguagem de programação C para a criação e utilização
da tabela de sı́mbolos, implementada como uma lista encadeada, que armazena os atri-
butos mais importantes de cada uma das variáveis para que seja possı́vel gerar código
que as utilize corretamente. Fizemos também a geração de warnings e geração de erros
conforme forem encontrados problemas durante essa etapa da análise.

4 Gerador de Código
No módulo final realizamos a geração do código que será executado pela máquina, a partir
de um programa escrito na linguagem de programação Tiny, cuja gramática foi a BNF
escolhida pelo grupo. Após executarmos o código, gerado pelo nosso compilador a partir
do código exemplo (em Tiny), na máquina vemos que o comportamento e o resultado
da execução foi a que esperávamos. Por fim ficaram claras as etapas realizadas pelo
compilador, e adquiridas noções melhores sobre sua funcionalidade e estrutura.

Você também pode gostar