diff options
| author | graehl <graehl@ec762483-ff6d-05da-a07a-a48fb63a330f> | 2010-08-11 01:02:02 +0000 | 
|---|---|---|
| committer | graehl <graehl@ec762483-ff6d-05da-a07a-a48fb63a330f> | 2010-08-11 01:02:02 +0000 | 
| commit | 88827bde7abd9745fb0437a299e0bb6ad96babe6 (patch) | |
| tree | ea9a838d19f14c1fdf53f2711644c43d506888bd /decoder/cfg_format.h | |
| parent | 1109095a09368ae29d6aa367334db6512b677f54 (diff) | |
only print cfg once
git-svn-id: https://ws10smt.googlecode.com/svn/trunk@505 ec762483-ff6d-05da-a07a-a48fb63a330f
Diffstat (limited to 'decoder/cfg_format.h')
| -rwxr-xr-x | decoder/cfg_format.h | 24 | 
1 files changed, 23 insertions, 1 deletions
| diff --git a/decoder/cfg_format.h b/decoder/cfg_format.h index 10361804..1066c510 100755 --- a/decoder/cfg_format.h +++ b/decoder/cfg_format.h @@ -1,6 +1,7 @@  #ifndef CFG_FORMAT_H  #define CFG_FORMAT_H +#include <iostream>  #include <string>  #include "wordid.h"  #include "feature_vector.h" @@ -31,6 +32,26 @@ struct CFGFormat {        ("nt_span",defaulted_value(&nt_span),"prefix A(i,j) for NT coming from hypergraph node with category A on span [i,j).  this is after --nt_prefix if any")        ;    } + +  void print(std::ostream &o) const { +    o<<"["; +    if (identity_scfg) +      o<<"Identity SCFG "; +    if (features) +      o<<"+Features "; +    if (logprob_feat) +      o<<logprob_feat_name<<"(logprob) "; +    if (nt_span) +      o<<"named-NTs "; +    if (cfg_comma_nt) +      o<<",N "; +    o << "CFG output format"; +    o<<"]"; +  } +  friend inline std::ostream &operator<<(std::ostream &o,CFGFormat const& me) { +    me.print(o); return o; +  } +    void Validate() {  }    template<class CFG>    void print_source_nt(std::ostream &o,CFG const&cfg,int id,int position=1) const { @@ -43,7 +64,8 @@ struct CFGFormat {    template <class CFG>    void print_nt_name(std::ostream &o,CFG const& cfg,int id) const {      o<<nt_prefix; -    cfg.print_nt_name(o,id); +    if (nt_span) +      cfg.print_nt_name(o,id);      o<<id;    } | 
