summaryrefslogtreecommitdiff
path: root/decoder/tree_fragment.cc
diff options
context:
space:
mode:
authorChris Dyer <redpony@gmail.com>2014-10-09 00:43:57 -0400
committerChris Dyer <redpony@gmail.com>2014-10-09 00:43:57 -0400
commit1d87fbb31502ba27f0469e4a576e410ee43ad77a (patch)
treedbc8a9d743a77fb1a6be229af2c49f9fe4858c8a /decoder/tree_fragment.cc
parent8601c7fa4ca6fe8093ec54cd2c150cf130484297 (diff)
make tree terminals available to feature functions
Diffstat (limited to 'decoder/tree_fragment.cc')
-rw-r--r--decoder/tree_fragment.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/decoder/tree_fragment.cc b/decoder/tree_fragment.cc
index 42f7793a..5f717c5b 100644
--- a/decoder/tree_fragment.cc
+++ b/decoder/tree_fragment.cc
@@ -64,6 +64,13 @@ int TreeFragment::SetupSpansRec(unsigned cur, int left) {
return right;
}
+vector<int> TreeFragment::Terminals() const {
+ vector<int> terms;
+ for (auto& x : *this)
+ if (IsTerminal(x)) terms.push_back(x);
+ return terms;
+}
+
// cp is the character index in the tree
// np keeps track of the nodes (nonterminals) that have been built
// symp keeps track of the terminal symbols that have been built