Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Gabriel de Castro Dias - 211055432
João Victor Pereira Vieira - 211036114
DIFICULDADES:
Problemas com Tempo
Problemas com Grupo
Problemas com Organização
Final de Semestre puxado
Falta de contato com a linguagem
Trabalhar com um código avançado e já implementado por outras pessoas
Sem comentários no código
CONTRIBUIÇÕES: Pretty Print
Adicionamos sistemas de tipos
Adicionamos Cabeçalhos
Adicionamos Sistemas de Blocos
Adicionamos Funções que geram Expressões
Adicionamos Arquivos Jimple gerados no Soot
Organizamos os Testes
Obs: Implementamos o Pretty Print no JimpleCodeGenerator.scala
O print foi feito através do código Jimple gerado, usamos Oberon apenas para gerar arquivos java
Não mudamos as Declarações já Existentes
Um exemplo do que fizemos:
ClassDeclaration(List(PublicModifer),TObject(SimpleModule4),TObject(java.lang.Object),
List(),List(Field(List(PublicModifer, StaticModifier, FinalModifier),TInteger,x),
Field(List(PublicModifer, StaticModifier, FinalModifier),TInteger,y),
Field(List(PublicModifer, StaticModifier, FinalModifier),TInteger,z),
Field(List(PublicModifer, StaticModifier),TInteger,abc),
Field(List(PublicModifer, StaticModifier),TBoolean,def)),
List(Method(List(PublicModifer, StaticModifier),TVoid,main,List(TArray(TString)),List(),
DefaultMethodBody(List(LocalVariableDeclaration(TArray(TString),args)),
List(AssignStmt(StaticField(FieldSignature(SimpleModule4,TInteger,x)),
ImmediateExpression(ImmediateValue(IntValue(5)))),
AssignStmt(StaticField(FieldSignature(SimpleModule4,TInteger,y)),
ImmediateExpression(ImmediateValue(IntValue(10)))),
AssignStmt(StaticField(FieldSignature(SimpleModule4,TInteger,z)),
PlusExpression(ImmediateValue(IntValue(5)),ImmediateValue(IntValue(10))))),List()))))
Public Class SimpleModule4 extends java.lang.Object
{
Public static final int x;
Public static final int y;
Public static final int z;
Public int abc;
Public boolean def;
}