// This file is automatically generated by DemeterJ. PrintVisitor { {{ protected java.io.PrintWriter out = new java.io.PrintWriter(System.out, true); java.io.PrintWriter get_out() { return out; } void set_out(java.io.PrintWriter new_out) { out = new_out; } PrintVisitor(java.io.PrintWriter out) { set_out(out); } PrintVisitor(java.io.PrintStream out) { set_out(new java.io.PrintWriter(out, true)); } }} finish {{ out.flush(); }} protected void space() {{ if (needSpace) out.print(" "); needSpace = false; }} before -> ClassDictionaryL, classdictionaryname, ClassDictionaryName {{ space(); out.print("aspect"); needSpace = true; out.print("("); needSpace = false; space(); out.print("ClassDictionary"); needSpace = true; out.print(")"); needSpace = false; }} before -> SelectorL, traversalname, TraversalName {{ space(); out.print("aspect"); needSpace = true; out.print("("); needSpace = false; space(); out.print("Traversal"); needSpace = true; out.print(")"); needSpace = false; }} before -> SelectorL, strategydef_list, StrategyDef_List {{ out.print("{"); needSpace = false; }} before -> SelectorL, selectorname, SelectorName {{ space(); out.print("declare"); needSpace = true; space(); out.print("chosen"); needSpace = true; space(); out.print("selector:"); needSpace = false; }} after -> SelectorL, selectorname, SelectorName {{ out.print(";"); needSpace = false; }} before -> SelectorL, classdictionaryname, ClassDictionaryName {{ space(); out.print("declare"); needSpace = true; space(); out.print("chosen"); needSpace = true; space(); out.print("class"); needSpace = true; space(); out.print("dictionary:"); needSpace = false; }} after -> SelectorL, classdictionaryname, ClassDictionaryName {{ out.print(";"); needSpace = false; }} after SelectorL {{ out.print("}"); needSpace = false; }} before -> StrategyDef, strategyname, StrategyName {{ space(); out.print("declare"); needSpace = true; space(); out.print("strategy"); needSpace = true; out.print(":"); needSpace = false; }} before -> StrategyDef, strategyexpr, StrategyExpr {{ out.print(":"); needSpace = false; }} after -> StrategyDef, strategyexpr, StrategyExpr {{ out.print(";"); needSpace = false; }} before -> NodeSubsetDef, nodesubsetname, NodeSubsetName {{ space(); out.print("declare"); needSpace = true; space(); out.print("node"); needSpace = true; space(); out.print("set"); needSpace = true; out.print(":"); needSpace = false; }} before -> NodeSubsetDef, nodesubsetexpression, NodeSubsetExpression {{ out.print(":"); needSpace = false; }} after -> NodeSubsetDef, nodesubsetexpression, NodeSubsetExpression {{ out.print(";"); needSpace = false; }} before -> GraphNodes, strategyname, StrategyName {{ space(); out.print("nodes"); needSpace = true; }} before -> GraphNodeRegExp, classname, ClassName {{ space(); out.print("regexp"); needSpace = true; }} before WildCard {{ out.print("*"); needSpace = false; }} before Union {{ space(); out.print("or"); needSpace = true; }} before Intersection {{ space(); out.print("and"); needSpace = true; }} before Complement {{ out.print("!"); needSpace = false; }} before -> StrategyExpr, strategyString, String {{ space(); out.print("\"" + source.get_strategyString() + "\""); needSpace = true; }} before -> ConstIdent, ident, Ident {{ space(); out.print(source.get_ident()); needSpace = true; }} before -> ConstText, text, Text {{ space(); out.print("{{" + source.get_text() + "}" + "}"); needSpace = true; }} before -> PrintVisitor, indent, int {{ space(); out.print(source.get_indent()); needSpace = true; }} before -> PrintVisitor, needSpace, boolean {{ space(); out.print(source.get_needSpace()); needSpace = true; }} before -> CopyVisitor, copy, Object {{ space(); out.print(source.get_copy()); needSpace = true; }} before -> SubgraphVisitor, is_equal, boolean {{ space(); out.print(source.get_is_equal()); needSpace = true; }} before -> EqualVisitor, is_equal, boolean {{ space(); out.print(source.get_is_equal()); needSpace = true; }} before -> DisplayVisitor, indent, int {{ space(); out.print(source.get_indent()); needSpace = true; }} before -> TraceVisitor, indent, int {{ space(); out.print(source.get_indent()); needSpace = true; }} before -> NodeSubsetExpression_PCList, first, Nonempty_NodeSubsetExpression_PCList {{ out.print("("); needSpace = false; }} after -> NodeSubsetExpression_PCList, first, Nonempty_NodeSubsetExpression_PCList {{ out.print(")"); needSpace = false; }} before -> ClassName_BCList, first, Nonempty_ClassName_BCList {{ out.print("{"); needSpace = false; }} after -> ClassName_BCList, first, Nonempty_ClassName_BCList {{ out.print("}"); needSpace = false; }} before -> Nonempty_Name, next, Nonempty_Name {{ out.print("."); needSpace = false; }} before -> Nonempty_AspectLanguage_List, next, Nonempty_AspectLanguage_List {{ out.print(" "); needSpace = false; }} before -> Nonempty_StrategyDef_List, next, Nonempty_StrategyDef_List {{ out.print(" "); needSpace = false; }} before -> Nonempty_NodeSubsetDef_List, next, Nonempty_NodeSubsetDef_List {{ out.print(" "); needSpace = false; }} before -> Nonempty_NodeSubsetExpression_PCList, next, Nonempty_NodeSubsetExpression_PCList {{ out.print(","); needSpace = false; }} before -> Nonempty_ClassName_BCList, next, Nonempty_ClassName_BCList {{ out.print(","); needSpace = false; }} }