summaryrefslogtreecommitdiff
path: root/python/src/sa/str_map.pxi
diff options
context:
space:
mode:
authorVictor Chahuneau <vchahune@cs.cmu.edu>2012-07-27 01:16:03 -0400
committerVictor Chahuneau <vchahune@cs.cmu.edu>2012-07-27 01:16:03 -0400
commitb2a8bccb2bd713d9ec081cf3dad0162c2cb492d8 (patch)
treec661044fd2a3943cf2ad12109b916fd7b56a519e /python/src/sa/str_map.pxi
parent148b1168c2b07abf0c7757a31141377c28ec3d91 (diff)
[python] Fork of the suffix-array extractor with surface improvements
Available as the cdec.sa module, with commande-line helpers: python -m cdec.sa.compile -f ... -e ... -a ... -o sa-out/ -c extract.ini python -m cdec.sa.extract -c extract.ini -g grammars-out/ < input.txt > input.sgml + renamed cdec.scfg -> cdec.sa + Python README
Diffstat (limited to 'python/src/sa/str_map.pxi')
-rw-r--r--python/src/sa/str_map.pxi23
1 files changed, 23 insertions, 0 deletions
diff --git a/python/src/sa/str_map.pxi b/python/src/sa/str_map.pxi
new file mode 100644
index 00000000..3a8439a4
--- /dev/null
+++ b/python/src/sa/str_map.pxi
@@ -0,0 +1,23 @@
+cdef extern from "strmap.h":
+ ctypedef struct StrMap
+ StrMap* stringmap_new()
+ void stringmap_delete(StrMap *vocab)
+ int stringmap_index(StrMap *vocab, char *s)
+ char* stringmap_word(StrMap *vocab, int i)
+
+cdef class StringMap:
+ cdef StrMap *vocab
+ cdef char *word(self, int i)
+ cdef int index(self, char *s)
+
+ def __cinit__(self):
+ self.vocab = stringmap_new()
+
+ def __dealloc__(self):
+ stringmap_delete(self.vocab)
+
+ cdef char *word(self, int i):
+ return stringmap_word(self.vocab, i)
+
+ cdef int index(self, char *s):
+ return stringmap_index(self.vocab, s)