diff options
Diffstat (limited to 'decoder/bottom_up_parser.cc')
| -rw-r--r-- | decoder/bottom_up_parser.cc | 10 | 
1 files changed, 10 insertions, 0 deletions
| diff --git a/decoder/bottom_up_parser.cc b/decoder/bottom_up_parser.cc index ff4c7a90..b30f1ec6 100644 --- a/decoder/bottom_up_parser.cc +++ b/decoder/bottom_up_parser.cc @@ -7,6 +7,8 @@  #include <iostream>  #include <map> +#include "node_state_hash.h" +#include "nt_span.h"  #include "hg.h"  #include "array2d.h"  #include "tdict.h" @@ -356,5 +358,13 @@ bool ExhaustiveBottomUpParser::Parse(const Lattice& input,    kEPS = TD::Convert("*EPS*");    PassiveChart chart(goal_sym_, grammars_, input, forest);    const bool result = chart.Parse(); + +  if (result) { +    for (auto& node : forest->nodes_) { +      Span prev; +      const Span s = forest->NodeSpan(node.id_, &prev); +      node.node_hash = cdec::HashNode(node.cat_, s.l, s.r, prev.l, prev.r); +    } +  }    return result;  } | 
