+\r
+ @Override\r
+ public void visit(ECHRRuleset echrRuleset) {\r
+ b.append("CHRRuleset");\r
+ }\r
+\r
+ public void visit(CHRRule rule) {\r
+ visit(rule.head);\r
+ b.append(" => ");\r
+ visit(rule.body);\r
+ }\r
+\r
+ public void visit(CHRQuery query) {\r
+ boolean first = true;\r
+ for(CHRLiteral literal : query.literals) {\r
+ if(first)\r
+ first = false;\r
+ else\r
+ b.append(", ");\r
+ visit(literal);\r
+ }\r
+ }\r
+\r
+ public void visit(CHRLiteral literal) {\r
+ if(literal.passive && literal.relation instanceof CHRConstraint)\r
+ b.append("@passive ");\r
+ if(literal.killAfterMatch)\r
+ b.append('-');\r
+ b.append(literal.relation);\r
+ for(Expression parameter : literal.parameters) {\r
+ b.append(' ');\r
+ showPar(parameter);\r
+ }\r
+ }\r