summaryrefslogtreecommitdiff
path: root/python/src/decoder.pxd
diff options
context:
space:
mode:
Diffstat (limited to 'python/src/decoder.pxd')
-rw-r--r--python/src/decoder.pxd37
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()