Um back end para o desenvolvimento de compiladores - De Bastiani, Júlio Cesar Sotoriva (2022)
Um compilador traduz um programa para um programa equivalente escrito em outra linguagem, apresentando para o usuário quaisquer erros encontrados durante o processo de tradução, esse que pode ser dividido em duas grandes etapas: análise e síntese. O objetivo deste trabalho é a criação de uma ferramenta para facilitar a implementação de compiladores em ambientes acadêmicos. Neste trabalho foi definida uma representação intermediária em código de três endereços e implementado um compilador e biblioteca para transformar essa representação intermediária em assembly para processadores x86_64. Isto foi feito para que alunos da disciplina de compiladores possam focar exclusivamente na implementação da etapa de análise e ainda assim criar compiladores funcionais que geram aplicações executáveis e depuráveis. [resumo fornecido pelo autor]