From: adam Date: Sat, 15 Jul 2006 06:07:29 +0000 (-0400) Subject: checkpoint X-Git-Tag: tag_for_25-Mar~136 X-Git-Url: http://git.megacz.com/?p=sbp.git;a=commitdiff_plain;h=757a65beee80a2aedfab746b9e36269a41c5bcdc checkpoint darcs-hash:20060715060729-5007d-d54f655169659f6dec9ed89d90a0ed015a75961a.gz --- diff --git a/src/edu/berkeley/sbp/Forest.java b/src/edu/berkeley/sbp/Forest.java index afe0a85..634d6ad 100644 --- a/src/edu/berkeley/sbp/Forest.java +++ b/src/edu/berkeley/sbp/Forest.java @@ -136,10 +136,11 @@ public abstract class Forest /*extends PrintableTree>*/ } private void gather(TaskList tl, HashSet>[] ht, HashSet> target, Tree[] trees, int i) { if (i==ht.length) { - target.add(new Tree(location, tag, trees)); + target.add(new Tree(location, tag, trees, unwrap)); return; } for(Tree tree : ht[i]) { + /* if (unwrap && i==trees.length-1) { // I think this is wrong Tree[] trees2 = new Tree[trees.length - 1 + tree.numChildren()]; @@ -148,10 +149,11 @@ public abstract class Forest /*extends PrintableTree>*/ trees2[trees.length-1+j] = tree.child(j); target.add(new Tree(location, tag, trees2)); } else { + */ trees[i] = tree; gather(tl, ht, target, trees, i+1); trees[i] = null; - } + //} } } public void expand(TaskList tl, HashSet> ht) { @@ -169,9 +171,11 @@ public abstract class Forest /*extends PrintableTree>*/ if (i==tokens.length) { h.finish(tag, location); + /* } else if (unwrap && i==tokens.length-1) { if (tokens[i] != null) tokens[i].visit(h, null, 0); + */ } else { tokens[i].visit(new TreeBuilder(h.toss) { @@ -179,7 +183,7 @@ public abstract class Forest /*extends PrintableTree>*/ public void addTree(Tree t) { toks.add(t); } public void finish(T head, Input.Region loc) { int old = h.toks.size(); - h.addTree(new Tree(loc, head, toks.toArray(tree_hint))); + h.addTree(new Tree(loc, head, toks.toArray(tree_hint), unwrap)); expand(i+1, h); while(h.toks.size() > old) h.toks.remove(h.toks.size()-1); }