diff options
Diffstat (limited to 'python/src/decoder.pxd')
-rw-r--r-- | python/src/decoder.pxd | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/python/src/decoder.pxd b/python/src/decoder.pxd new file mode 100644 index 00000000..ab858841 --- /dev/null +++ b/python/src/decoder.pxd @@ -0,0 +1,37 @@ +from libcpp.string cimport string +from libcpp.vector cimport vector +from hypergraph cimport Hypergraph +from utils cimport istream, weight_t + +cdef extern from "decoder/ff_register.h": + cdef void register_feature_functions() + +cdef extern from "decoder/decoder.h": + cdef cppclass SentenceMetadata: + pass + + cdef cppclass DecoderObserver: + DecoderObserver() + + cdef cppclass Decoder: + Decoder(int argc, char** argv) + Decoder(istream* config_file) + bint Decode(string input, DecoderObserver* observer) + + # access this to either *read* or *write* to the decoder's last + # weight vector (i.e., the weights of the finest past) + vector[weight_t]& CurrentWeightVector() + + void SetId(int id) + #const boost::program_options::variables_map& GetConf() const { return conf } + + # add grammar rules (currently only supported by SCFG decoders) + # that will be used on subsequent calls to Decode. rules should be in standard + # text format. This function does NOT read from a file. + void SetSupplementalGrammar(string grammar) + void SetSentenceGrammarFromString(string grammar_str) + +cdef extern from "observer.h": + cdef cppclass BasicObserver(DecoderObserver): + Hypergraph* hypergraph + BasicObserver() |