add parser

This commit is contained in:
Vu Tuan Minh
2025-04-10 10:26:34 +02:00
parent f75ca554aa
commit 9ea10fb031
6 changed files with 106 additions and 2 deletions

View File

@@ -74,6 +74,23 @@ public class PrettyprinterVisitor implements ProgramVisitor<String,String>,
return str;
}
@Override
public String visitIfThen(IfThenImp instr, String indent) {
String str = indent + "IF ";
str +=(instr.e().accept(this, ""));
str +=" THEN " + (instr.i1().accept(this, ""));
return str;
}
@Override
public String visitIfThenElse(IfThenElseImp instr, String indent) {
String str = indent + "IF ";
str +=(instr.e().accept(this, ""));
str +=" THEN " + (instr.i1().accept(this, ""));
str +=" ELSE "+ (instr.i2().accept(this, ""));
return str;
}
@Override
public String visitRead(ReadImp instr, String indent) {
String str = indent+"READ ";
@@ -84,6 +101,15 @@ public class PrettyprinterVisitor implements ProgramVisitor<String,String>,
return str;
}
@Override
public String visitWhile(WhileImp instr, String indent) {
String str = indent+"WHILE ";
str += (instr.e().accept(this, ""));
str+= " DO "+ (instr.i1().accept(this, ""));
str+= " DONE";
return str;
}
//EXPRESSION
@Override