clean PrettyPrinterVisitor
This commit is contained in:
@@ -13,7 +13,7 @@ public class PrettyprinterVisitor implements ProgramVisitor<String,String>,
|
||||
|
||||
static String INDENT = " ";
|
||||
|
||||
//PROGRAM
|
||||
//PROGRAM -----------------------------------
|
||||
|
||||
@Override
|
||||
public String visitProgram(ProgramImp prog, String indent) {
|
||||
@@ -25,7 +25,9 @@ public class PrettyprinterVisitor implements ProgramVisitor<String,String>,
|
||||
return str;
|
||||
}
|
||||
|
||||
//PROTOTYPE
|
||||
|
||||
//FUNCTION -----------------------------------
|
||||
|
||||
@Override
|
||||
public String visitPrototype(PrototypeImp proto, String indent){
|
||||
String str= indent + "PROTO "+proto.type().accept(this, "")+ " "+ proto.nom() + "(";
|
||||
@@ -38,7 +40,7 @@ public class PrettyprinterVisitor implements ProgramVisitor<String,String>,
|
||||
return str+")";
|
||||
}
|
||||
|
||||
//FUNCTION
|
||||
|
||||
@Override
|
||||
public String visitFunction(FunctionImp fun, String indent) {
|
||||
String str = indent+"FUNC " + fun.type().accept(this,"")+ " " + fun.nom() +"(";
|
||||
@@ -53,7 +55,9 @@ public class PrettyprinterVisitor implements ProgramVisitor<String,String>,
|
||||
return str;
|
||||
}
|
||||
|
||||
//DELCARATION
|
||||
|
||||
//DELCARATION -----------------------------------
|
||||
|
||||
@Override
|
||||
public String visitDeclaration(DeclarationImp instr, String indent) {
|
||||
String str = indent +instr.t().accept(this,"") + " ";
|
||||
@@ -74,12 +78,16 @@ public class PrettyprinterVisitor implements ProgramVisitor<String,String>,
|
||||
}
|
||||
return str;
|
||||
}
|
||||
//INSTRUCTION
|
||||
|
||||
|
||||
//INSTRUCTION -----------------------------------
|
||||
|
||||
@Override
|
||||
public String visitReturn(Return_instrImp instr, String indent) {
|
||||
return indent+"RETURN " + instr.e().accept(this,"");
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String visitBloc(BlocImp instr, String indent) {
|
||||
String str = "{\n";
|
||||
@@ -90,6 +98,7 @@ public class PrettyprinterVisitor implements ProgramVisitor<String,String>,
|
||||
return str;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String visitBlocDec(BlocDecImp instr, String indent) {
|
||||
String str = "{\n";
|
||||
@@ -104,11 +113,13 @@ public class PrettyprinterVisitor implements ProgramVisitor<String,String>,
|
||||
return str;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String visitAssign(AssignImp instr, String indent) {
|
||||
return indent + instr.t()+ " := " + instr.e().accept(this,"");
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String visitPrint(PrintImp instr, String indent) {
|
||||
String str = indent + "PRINT ";
|
||||
@@ -125,6 +136,18 @@ public class PrettyprinterVisitor implements ProgramVisitor<String,String>,
|
||||
return str;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String visitRead(ReadImp instr, String indent) {
|
||||
String str = indent+"READ ";
|
||||
for(int i = 0; i<instr.t().size(); i++){
|
||||
str += instr.t().get(i).accept(this,indent);
|
||||
if(i<instr.t().size()-1) str += ", ";
|
||||
}
|
||||
return str;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String visitIfThen(IfThenImp instr, String indent) {
|
||||
String str = indent + "IF ";
|
||||
@@ -145,15 +168,6 @@ public class PrettyprinterVisitor implements ProgramVisitor<String,String>,
|
||||
return str;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String visitRead(ReadImp instr, String indent) {
|
||||
String str = indent+"READ ";
|
||||
for(int i = 0; i<instr.t().size(); i++){
|
||||
str += instr.t().get(i).accept(this,indent);
|
||||
if(i<instr.t().size()-1) str += ", ";
|
||||
}
|
||||
return str;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String visitWhile(WhileImp instr, String indent) {
|
||||
@@ -178,7 +192,9 @@ public class PrettyprinterVisitor implements ProgramVisitor<String,String>,
|
||||
return str;
|
||||
}
|
||||
|
||||
//EXPRESSION
|
||||
|
||||
//EXPRESSION -----------------------------------
|
||||
|
||||
@Override
|
||||
public String visitConst(ConstImp e, String indent) {
|
||||
return e.c()+"";
|
||||
@@ -198,6 +214,13 @@ public class PrettyprinterVisitor implements ProgramVisitor<String,String>,
|
||||
return "(" + e.e1().accept(this,"") +" "+ opStr +" " + e.e2().accept(this,"") + ")";
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String visitVar(VarImp e, String h) {
|
||||
return e.name();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String visitCall(CallImp instr,String indent){
|
||||
String str = indent + instr.fName() + "(";
|
||||
@@ -209,7 +232,7 @@ public class PrettyprinterVisitor implements ProgramVisitor<String,String>,
|
||||
}
|
||||
|
||||
|
||||
//TYPE
|
||||
//TYPE -----------------------------------
|
||||
|
||||
@Override
|
||||
public String visitInt(Type_intImp t, String h) {
|
||||
@@ -221,9 +244,5 @@ public class PrettyprinterVisitor implements ProgramVisitor<String,String>,
|
||||
return "VOID";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String visitVar(VarImp e, String h) {
|
||||
return e.name();
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user