Repositório para o trabalho de Tradures da UnB com a professora Nalon, referente ao primeiro semestre de 2021.
Listas encadeadas são uma das estruturas de dados mais utilizadas atualmente. Entretanto, apesar de sua popularidade, é também uma potencial fonte de problemas, especialmente para programadores inexperientes, uma vez que para linguagens que não possuem suporte nativo a listas é preciso criar e manipular as estruturas de dados que definem seu comportamento. Portanto, na linguagem C-IPL proposta nesse trabalho, através do suporte nativo a listas junto com algumas operações básicas sobre elas, temos como motivação os objetivos a seguir:
1 - Diminuir a quantidade de erros e aumentar a qualidade geral do código devido à implementação nativa.
2 - Aumentar a produtividade dos programadores, pois estarão livres de ter que lidar com a criação da estrutura de dados e poderão focar somente em sua utilização.
3 - Aumentar a reusabilidade e manutenibilidade de código, pois deixando a estrutura de dados nativa evita-se que cada programador tenha que implementar sua própria versão e portanto não será preciso entender as características de cada implementação específica, uma vez que, por ser nativa, será a mesma para qualquer programa utilizando a linguagem.
Para compilar, simplesmente entre na pasta raiz e digite:
$ make all
Uma vez com o arquivo tradutor já na pasta raiz, digite o seguinte comando para rodar os programas no arquivo de teste:
$ ./tradutor (caminho para o arquivo)
Para rodar um arquivo .tac, na pasta raíz, digite
$ ./tac -vds (caminho para o arquivo .tac)