# Path: yaya/common/enum.py
# class Enum(object):
#     """ Enumerated type. """
# 
#     def __init__(self, *keys, **kwargs):
#         """ Create an enumeration instance. """
# 
#         value_type = kwargs.get('value_type', EnumValue)
#         enum_name = kwargs.get('enum_name', None)
#         assert enum_name is not None
#         self.__dict__['enum_name'] = enum_name
#         if not keys:
#             raise EnumEmptyError()
# 
#         keys = tuple(keys)
#         values = [None] * len(keys)
# 
#         for i, key in enumerate(keys):
#             value = value_type(self, i, key)
#             values[i] = value
#             try:
#                 super(Enum, self).__setattr__(key, value)
#             except TypeError:
#                 raise EnumBadKeyError(key)
# 
#         self.__dict__['_keys'] = keys
#         self.__dict__['_values'] = values
# 
#     def __setattr__(self, name, value):
#         raise EnumImmutableError(name)
# 
#     def __delattr__(self, name):
#         raise EnumImmutableError(name)
# 
#     def __len__(self):
#         return len(self._values)
# 
#     def __getitem__(self, index):
#         # tony 添加，添加从字符型枚举名到变量值的转换
#         if isinstance(index, str) or isinstance(index, unicode) :
#             return self.__getattribute__(index)
#         else:
#             return self._values[index]
# 
#     def __setitem__(self, index, value):
#         raise EnumImmutableError(index)
# 
#     def __delitem__(self, index):
#         raise EnumImmutableError(index)
# 
#     def __iter__(self):
#         return iter(self._values)
# 
#     def __contains__(self, value):
#         is_member = False
#         if isinstance(value, basestring):
#             is_member = (value in self._keys)
#         else:
#             is_member = (value in self._values)
#         return is_member


from yaya.common.enum import Enum
    "mq",  # u"数量词",
    "Mg",  # u"甲乙丙丁之类的数词",
    "q",  # u"量词",
    "qv",  # u"动量词",
    "qt",  # u"时量词",
    "d",  # u"副词",
    "dg",  # u"辄",
    "dl",  # u"连语",
    "p",  # u"介词",
    "pba",  # u"介词",
    "pbei",  # u"介词",
    "c",  # u"连词",
    "cc",  # u"并列连词",
    "u",  # u"助词",
    "uzhe",  # u"着",
    "ule",  # u"了 ",
    "uguo",  # u"过",
    "ude1",  # u"的 ",
    "ude2",  # u"地",
    "ude3",  # u"得",
    "usuo",  # u"所",
    "udeng",  # u"等 ",
    "uyy",  # u"一样 ",
    "udh",  # u"的话",
    "uls",  # u"来讲 ",
    "uzhi",  # u"之",
    "ulian",  # u"连 ",
    "e",  # u"叹词",
    "y",  # u"语气词",
    "o",  # u"拟声词",

# Path: yaya/common/enum.py
# class Enum(object):
#     """ Enumerated type. """
# 
#     def __init__(self, *keys, **kwargs):
#         """ Create an enumeration instance. """
# 
#         value_type = kwargs.get('value_type', EnumValue)
#         enum_name = kwargs.get('enum_name', None)
#         assert enum_name is not None
#         self.__dict__['enum_name'] = enum_name
#         if not keys:
#             raise EnumEmptyError()
# 
#         keys = tuple(keys)
#         values = [None] * len(keys)
# 
#         for i, key in enumerate(keys):
#             value = value_type(self, i, key)
#             values[i] = value
#             try:
#                 super(Enum, self).__setattr__(key, value)
#             except TypeError:
#                 raise EnumBadKeyError(key)
# 
#         self.__dict__['_keys'] = keys
#         self.__dict__['_values'] = values
# 
#     def __setattr__(self, name, value):
#         raise EnumImmutableError(name)
# 
#     def __delattr__(self, name):
#         raise EnumImmutableError(name)
# 
#     def __len__(self):
#         return len(self._values)
# 
#     def __getitem__(self, index):
#         # tony 添加，添加从字符型枚举名到变量值的转换
#         if isinstance(index, str) or isinstance(index, unicode) :
#             return self.__getattribute__(index)
#         else:
#             return self._values[index]
# 
#     def __setitem__(self, index, value):
#         raise EnumImmutableError(index)
# 
#     def __delitem__(self, index):
#         raise EnumImmutableError(index)
# 
#     def __iter__(self):
#         return iter(self._values)
# 
#     def __contains__(self, value):
#         is_member = False
#         if isinstance(value, basestring):
#             is_member = (value in self._keys)
#         else:
#             is_member = (value in self._values)
#         return is_member


# Path: yaya/common/nature.py
from yaya.common.enum import Enum

    "mq",  # u"数量词",
    "Mg",  # u"甲乙丙丁之类的数词",
    "q",  # u"量词",
    "qv",  # u"动量词",
    "qt",  # u"时量词",
    "d",  # u"副词",
    "dg",  # u"辄",
    "dl",  # u"连语",
    "p",  # u"介词",
    "pba",  # u"介词",
    "pbei",  # u"介词",
    "c",  # u"连词",
    "cc",  # u"并列连词",
    "u",  # u"助词",
    "uzhe",  # u"着",
    "ule",  # u"了 ",
    "uguo",  # u"过",
    "ude1",  # u"的 ",
    "ude2",  # u"地",
    "ude3",  # u"得",
    "usuo",  # u"所",
    "udeng",  # u"等 ",
    "uyy",  # u"一样 ",
    "udh",  # u"的话",
    "uls",  # u"来讲 ",
    "uzhi",  # u"之",
    "ulian",  # u"连 ",
    "e",  # u"叹词",
    "y",  # u"语气词",
    "o",  # u"拟声词",

    "h",  # u"前缀",