summaryrefslogtreecommitdiff
path: root/python/cdec/decoder.pxd
diff options
context:
space:
mode:
authorVictor Chahuneau <vchahune@cs.cmu.edu>2013-08-26 20:12:32 -0400
committerVictor Chahuneau <vchahune@cs.cmu.edu>2013-08-26 20:12:32 -0400
commit03799a2d330c6dbbe12154d4bcea236210b4f6ed (patch)
tree7adb0bc8dd2987fa32ee1299d8821dd8b7b06706 /python/cdec/decoder.pxd
parent8b491e57f8a011f4f8496e44bed7eb7a4360bc93 (diff)
Improve the package structure of pycdec
This change should not break anything, but now you can run: python setup.py build_ext --inplace and use the cleaner: PYTHONPATH=/path/to/cdec/python python -m ...
Diffstat (limited to 'python/cdec/decoder.pxd')
-rw-r--r--python/cdec/decoder.pxd35
1 files changed, 35 insertions, 0 deletions
diff --git a/python/cdec/decoder.pxd b/python/cdec/decoder.pxd
new file mode 100644
index 00000000..b68b836e
--- /dev/null
+++ b/python/cdec/decoder.pxd
@@ -0,0 +1,35 @@
+from libcpp.string cimport string
+from libcpp.vector cimport vector
+from hypergraph cimport Hypergraph
+from grammar cimport Grammar
+from utils cimport *
+
+cdef extern from "decoder/ff_register.h":
+ void register_feature_functions()
+
+cdef extern from "decoder/decoder.h":
+ cdef cppclass SentenceMetadata:
+ pass
+
+ cdef cppclass DecoderObserver:
+ DecoderObserver()
+
+ cdef cppclass Decoder:
+ Decoder(istream* config_file) nogil
+ bint Decode(string& inp, DecoderObserver* observer) nogil
+
+ # 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)
+ variables_map& GetConf()
+
+ # add grammar rules (currently only supported by SCFG decoders)
+ void AddSupplementalGrammarFromString(string& grammar_str) nogil
+ void AddSupplementalGrammar(shared_ptr[Grammar] grammar) nogil
+
+cdef extern from "observer.h":
+ cdef cppclass BasicObserver(DecoderObserver):
+ Hypergraph* hypergraph
+ BasicObserver()