Ejemplo n.º 1
0
 def __serialize_morph_rule(res: io.IOBase, r: 'MorphRule') -> None:
     MorphSerializeHelper.__serialize_short(res, r._id0_)
     for v in r.variants.items():
         MorphSerializeHelper.__serialize_string(res, v[0])
         for m in v[1]:
             MorphSerializeHelper.__serialize_morph_rule_variant(res, m)
         MorphSerializeHelper.__serialize_short(res, 0)
     Utils.writeByteIO(res, 0xFF)
Ejemplo n.º 2
0
 def serialize(self, stream : io.IOBase) -> None:
     Utils.writeByteIO(stream, 0xAA)
     Utils.writeByteIO(stream, 1)
     self.__m_sofa.serialize(stream)
     SerializerHelper.serializeInt(stream, self.base_language.value)
     if (len(self.__m_entities) == 0): 
         for d in self.__m_datas.items(): 
             self.__m_entities.extend(d[1].referents)
     SerializerHelper.serializeInt(stream, len(self.__m_entities))
     i = 0
     while i < len(self.__m_entities): 
         self.__m_entities[i].tag = i + 1
         SerializerHelper.serializeString(stream, self.__m_entities[i].type_name)
         i += 1
     for e0_ in self.__m_entities: 
         e0_.serialize(stream)
     SerializerHelper.serializeTokens(stream, self.first_token, 0)
Ejemplo n.º 3
0
 def __serialize_string(res: io.IOBase, s: str) -> None:
     if (s is None):
         Utils.writeByteIO(res, 0xFF)
     elif (len(s) == 0):
         Utils.writeByteIO(res, 0)
     else:
         data = s.encode("UTF-8", 'ignore')
         Utils.writeByteIO(res, len(data))
         Utils.writeIO(res, data, 0, len(data))
Ejemplo n.º 4
0
 def __serialize_int(res: io.IOBase, val: int) -> None:
     Utils.writeByteIO(res, val)
     Utils.writeByteIO(res, (val >> 8))
     Utils.writeByteIO(res, (val >> 16))
     Utils.writeByteIO(res, (val >> 24))
Ejemplo n.º 5
0
 def __serialize_byte(res: io.IOBase, val: int) -> None:
     Utils.writeByteIO(res, val)
Ejemplo n.º 6
0
 def __serialize_morph_misc_info(res: io.IOBase,
                                 mi: 'MorphMiscInfo') -> None:
     MorphSerializeHelper.__serialize_short(res, mi._m_value)
     for a in mi.attrs:
         MorphSerializeHelper.__serialize_string(res, a)
     Utils.writeByteIO(res, 0xFF)
Ejemplo n.º 7
0
 def __serializeShort(res: io.IOBase, val: int) -> None:
     Utils.writeByteIO(res, val)
     Utils.writeByteIO(res, (val >> 8))