diff --git a/trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/ASTPrinting.jadd b/trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/ASTPrinting.jadd new file mode 100644 index 0000000000000000000000000000000000000000..7b98c380fd57dbe5d1a3709950f17b30cedf236d --- /dev/null +++ b/trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/ASTPrinting.jadd @@ -0,0 +1,31 @@ +aspect RefinedPrinting { + + refine Printing public String ASTNode.getASTString() { + + String result = this.getNodeTitle() + "\n"; + + for(int childIndex = 0; childIndex < getNumChildNoTransform(); childIndex++) { + + ASTNode<?> child = getChildNoTransform(childIndex); + String childString = "N\n"; + String pointString = "."; + if(child != null) { + childString = child.getASTString(); + // pointString = child.pointName() + "."; + } + + if(childIndex < getNumChildNoTransform() - 1) { + childString = childString.replaceAll("(?m)^", "| "); + } else { + childString = childString.replaceAll("(?m)^", " "); + } + + if(pointString.equals(".")) { + pointString = ""; + } + result += "|\n|-----" + pointString + childString; + } + + return result; + } +}