+ public static class HashSetTreeConsumer<T> extends HashSet<Tree<T>> implements TreeConsumer<T> {
+ public void addTree(Tree<T> t) { super.add(t); }
+ }
+
+ static <T> Forest<T> singleton(Input.Location loc, Position p) {
+ return create(loc, null, new Forest[] { }, false, true, p); }
+ static <T> Forest<T> singleton(Input.Location loc, Forest<T> body, Position p) {
+ return create(loc, null, new Forest[] { body }, false, true, p); }
+ static <T> Forest<T> leaf(Input.Location loc, T tag, Position p) { return create(loc, tag, null, false, false, p); }