|
|
|
|
|
|
|
|
|
import flatbuffers |
|
from flatbuffers.compat import import_numpy |
|
np = import_numpy() |
|
|
|
class GrammarModel(object): |
|
__slots__ = ['_tab'] |
|
|
|
@classmethod |
|
def GetRootAsGrammarModel(cls, buf, offset): |
|
n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset) |
|
x = GrammarModel() |
|
x.Init(buf, n + offset) |
|
return x |
|
|
|
@classmethod |
|
def GrammarModelBufferHasIdentifier(cls, buf, offset, size_prefixed=False): |
|
return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x54\x43\x32\x20", size_prefixed=size_prefixed) |
|
|
|
|
|
def Init(self, buf, pos): |
|
self._tab = flatbuffers.table.Table(buf, pos) |
|
|
|
|
|
def Rules(self): |
|
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4)) |
|
if o != 0: |
|
x = self._tab.Indirect(o + self._tab.Pos) |
|
from libtextclassifier3.grammar.RulesSet import RulesSet |
|
obj = RulesSet() |
|
obj.Init(self._tab.Bytes, x) |
|
return obj |
|
return None |
|
|
|
|
|
def RuleClassificationResult(self, j): |
|
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6)) |
|
if o != 0: |
|
x = self._tab.Vector(o) |
|
x += flatbuffers.number_types.UOffsetTFlags.py_type(j) * 4 |
|
x = self._tab.Indirect(x) |
|
from libtextclassifier3.GrammarModel_.RuleClassificationResult import RuleClassificationResult |
|
obj = RuleClassificationResult() |
|
obj.Init(self._tab.Bytes, x) |
|
return obj |
|
return None |
|
|
|
|
|
def RuleClassificationResultLength(self): |
|
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6)) |
|
if o != 0: |
|
return self._tab.VectorLen(o) |
|
return 0 |
|
|
|
|
|
def RuleClassificationResultIsNone(self): |
|
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6)) |
|
return o == 0 |
|
|
|
|
|
def ContextLeftNumTokens(self): |
|
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8)) |
|
if o != 0: |
|
return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos) |
|
return 0 |
|
|
|
|
|
def ContextRightNumTokens(self): |
|
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10)) |
|
if o != 0: |
|
return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos) |
|
return 0 |
|
|
|
|
|
def TokenizerOptions(self): |
|
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(12)) |
|
if o != 0: |
|
x = self._tab.Indirect(o + self._tab.Pos) |
|
from libtextclassifier3.GrammarTokenizerOptions import GrammarTokenizerOptions |
|
obj = GrammarTokenizerOptions() |
|
obj.Init(self._tab.Bytes, x) |
|
return obj |
|
return None |
|
|
|
def GrammarModelStart(builder): builder.StartObject(5) |
|
def GrammarModelAddRules(builder, rules): builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(rules), 0) |
|
def GrammarModelAddRuleClassificationResult(builder, ruleClassificationResult): builder.PrependUOffsetTRelativeSlot(1, flatbuffers.number_types.UOffsetTFlags.py_type(ruleClassificationResult), 0) |
|
def GrammarModelStartRuleClassificationResultVector(builder, numElems): return builder.StartVector(4, numElems, 4) |
|
def GrammarModelAddContextLeftNumTokens(builder, contextLeftNumTokens): builder.PrependInt32Slot(2, contextLeftNumTokens, 0) |
|
def GrammarModelAddContextRightNumTokens(builder, contextRightNumTokens): builder.PrependInt32Slot(3, contextRightNumTokens, 0) |
|
def GrammarModelAddTokenizerOptions(builder, tokenizerOptions): builder.PrependUOffsetTRelativeSlot(4, flatbuffers.number_types.UOffsetTFlags.py_type(tokenizerOptions), 0) |
|
def GrammarModelEnd(builder): return builder.EndObject() |
|
|