UnBCIC-TP2 / Oberon-Scala

An implementation of the Oberon language using Scala
55 stars 118 forks source link

Grupo 4: geração de TAC (Three Address Code) #146

Closed marcelomamorim closed 10 months ago

marcelomamorim commented 1 year ago

Marcelo Amorim: Pretty Printer

Funcionalidade responsável por printar a IR TAC no console. Foram utilizados conceitos de programação funcional aprendidos durante o semestre (pattern matching, folding por exemplo).

Testes unitários do printer.

Matheus Oliveira e Leandro Beloti: novas implementacoes: ProcedureCallStmt RecordAssignment FieldAccessExpression operações TAC como RecordGet, RecordSet e New e testes unitários para novas implementações funções auxiliares: load_userTypes_and_vars getRecordOffset getArrayOffset getFieldType

Atualizacoes: ArraySubcript e ArrayAssignment com uso de offset ListGet -> ArrayGet ListSet -> ArraySet CopyOp -> MoveOp e ajuste de testes unitários para essas adaptações remoção do ForEachSTmt e ElseIfStmt do TAC por não serem parte do core