summaryrefslogtreecommitdiff
path: root/python/src/grammar.pxd
diff options
context:
space:
mode:
authorKenneth Heafield <github@kheafield.com>2012-08-03 07:46:54 -0400
committerKenneth Heafield <github@kheafield.com>2012-08-03 07:46:54 -0400
commit122f46c31102b683eaab3ad81a3a98accbc694bb (patch)
tree8d499d789b159ebed25bb23b6983813d064a6296 /python/src/grammar.pxd
parentac664bdb0e481539cf77098a7dd0e1ec8d937ba0 (diff)
parent193d137056c3c4f73d66f8db84691d63307de894 (diff)
Merge branch 'master' of github.com:redpony/cdec
Diffstat (limited to 'python/src/grammar.pxd')
-rw-r--r--python/src/grammar.pxd45
1 files changed, 45 insertions, 0 deletions
diff --git a/python/src/grammar.pxd b/python/src/grammar.pxd
new file mode 100644
index 00000000..833de2e3
--- /dev/null
+++ b/python/src/grammar.pxd
@@ -0,0 +1,45 @@
+from libcpp.vector cimport vector
+from libcpp.string cimport string
+from utils cimport *
+
+cdef extern from "decoder/trule.h":
+ cdef cppclass AlignmentPoint:
+ AlignmentPoint(int s, int t)
+ AlignmentPoint Inverted()
+ short s_
+ short t_
+
+ cdef cppclass TRule:
+ vector[WordID] f_
+ vector[WordID] e_
+ vector[AlignmentPoint] a_
+ FastSparseVector[weight_t] scores_
+ WordID lhs_
+ int arity_
+ bint IsUnary()
+ bint IsGoal()
+ void ComputeArity()
+
+cdef extern from "decoder/grammar.h":
+ cdef cppclass RuleBin:
+ int GetNumRules()
+ shared_ptr[TRule] GetIthRule(int i)
+ int Arity()
+
+ ctypedef RuleBin const_RuleBin "const RuleBin"
+
+ cdef cppclass GrammarIter:
+ const_RuleBin* GetRules()
+
+ ctypedef GrammarIter const_GrammarIter "const GrammarIter"
+
+ cdef cppclass Grammar:
+ const_GrammarIter* GetRoot()
+ bint HasRuleForSpan(int i, int j, int distance)
+ unsigned GetCTFLevels()
+ string GetGrammarName()
+ void SetGrammarName(string)
+
+ cdef cppclass TextGrammar(Grammar):
+ TextGrammar()
+ void AddRule(shared_ptr[TRule]& rule)