issues
search
UnBCIC-TP2
/
Oberon-Scala
An implementation of the Oberon language using Scala
55
stars
118
forks
source link
Entrega final CCodeGen
#161
Closed
mrkeepout
closed
3 months ago
mrkeepout
commented
10 months ago
Criação de 18 testes
Os testes abrangeram as seguintes funcionalidades.
Teste de OR, AND e negação lógica.
Teste condicional (if e else).
Teste de estruturas de repetição (While e For).
Testes aritméticos (Soma, multiplicação, subtração e divisão).
Implementações
Função FOR implementada com sucesso.
Criada documentação detalhada de cada teste e seus respectivos resultados. Em testes que falharam, foi relatado a causa e possíveis soluções.
Criada documentação sobre a Geração de Código em C.
TO-DO
mainHeader permitir o uso da biblioteca math.h e stdlib.h
Permitir o uso de parenteses para definição de precedência.
Switch Case.
Bugs e peculiaridades
Estrutura FOR
: Peculiaridade For
O FOR em Oberon se traduz em While em C.
pgNormal
e
pgNew
: POW e FOR
O while quando traduzido a partir de um FOR, ele não respeita a condição. A função POW não é encontrada no Oberon Module.
Progressão Aritmética
: Parenteses
O uso de parenteses para determinar precedência causa a falha no teste.
Correções realizadas na versão 12/2023
Refatoração na tradução do CCodeGen.scala
Correção de bugs (break e indentação).
Otimização de código
Alteração na utilização das listas (lista[0] -> lista.head).
Refatoração de 18 testes afetados por bugs no CCodeGen.scala
Corrigida a formatação de código em C.
Criação de 18 testes
Os testes abrangeram as seguintes funcionalidades.
Implementações
TO-DO
Bugs e peculiaridades
Correções realizadas na versão 12/2023