package vaporize.library; import cs132.vapor.ast.*; import st.*; import misc.*; import java.util.*; public class ControlFlowGraph extends VInstr.VisitorPR { public R visit(P p, VMemRead n) throws RuntimeException { PrintFilter.print(String.format("%s (%s)", n.getClass().getSimpleName(), n.sourcePos.toString()), true); return null; } public R visit(P p, VMemWrite n) throws RuntimeException { PrintFilter.print(String.format("%s (%s)", n.getClass().getSimpleName(), n.sourcePos.toString()), true); return null; } public R visit(P p, VAssign n) throws RuntimeException { PrintFilter.print(String.format("%s (%s)", n.getClass().getSimpleName(), n.sourcePos.toString()), true); return null; } public R visit(P p, VBranch n) throws RuntimeException { PrintFilter.print(String.format("%s (%s)", n.getClass().getSimpleName(), n.sourcePos.toString()), true); return null; } public R visit(P p, VGoto n) throws RuntimeException { PrintFilter.print(String.format("%s (%s)", n.getClass().getSimpleName(), n.sourcePos.toString()), true); return null; } public R visit(P p, VCall n) throws RuntimeException { PrintFilter.print(String.format("%s (%s)", n.getClass().getSimpleName(), n.sourcePos.toString()), true); return null; } public R visit(P p, VBuiltIn n) throws RuntimeException { PrintFilter.print(String.format("%s (%s:%s)", n.getClass().getSimpleName(), n.op.name, n.sourcePos.toString()), true); return null; } public R visit(P p, VReturn n) throws RuntimeException { PrintFilter.print(String.format("%s (%s)", n.getClass().getSimpleName(), n.sourcePos.toString()), true); return null; } }