summaryrefslogtreecommitdiff
path: root/python/cdec/grammar.pxi
diff options
context:
space:
mode:
authorPatrick Simianer <p@simianer.de>2014-06-12 13:56:42 +0200
committerPatrick Simianer <p@simianer.de>2014-06-12 13:56:42 +0200
commita39aa79b18347e22ef36ebc0da5a7eb220bcb23f (patch)
tree2c0f3009f8e381002bfeb82c0ea3bd0c41125761 /python/cdec/grammar.pxi
parent62bd9a4bdcea606d6ff2031fa4b207ef20caac31 (diff)
parent0e2f8d3d049f06afb08b4639c6a28aa5461cdc78 (diff)
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'python/cdec/grammar.pxi')
-rw-r--r--python/cdec/grammar.pxi18
1 files changed, 12 insertions, 6 deletions
diff --git a/python/cdec/grammar.pxi b/python/cdec/grammar.pxi
index d523e4d2..b78c86ff 100644
--- a/python/cdec/grammar.pxi
+++ b/python/cdec/grammar.pxi
@@ -49,7 +49,7 @@ cdef TRule convert_rule(_sa.Rule rule):
cdef class TRule:
cdef shared_ptr[grammar.TRule]* rule
- def __init__(self, lhs, f, e, scores, a=None):
+ def __init__(self, lhs, f, e, scores, a=None, text=None):
"""TRule(lhs, f, e, scores, a=None) -> Translation rule.
lhs: left hand side non-terminal
f: source phrase (list of words/NT)
@@ -57,12 +57,18 @@ cdef class TRule:
scores: dictionary of feature scores
a: optional list of alignment points"""
self.rule = new shared_ptr[grammar.TRule](new grammar.TRule())
- self.lhs = lhs
- self.e = e
- self.f = f
- self.scores = scores
+ if lhs:
+ self.lhs = lhs
+ if e:
+ self.e = e
+ if f:
+ self.f = f
+ if scores:
+ self.scores = scores
if a:
- self.a = a
+ self.a = a
+ if text:
+ self.rule.get().ReadFromString(text, 0)
self.rule.get().ComputeArity()
def __dealloc__(self):