# Path: tinamit/config.py
# class OpsConfig(object):
# class Config(OpsConfig):
# class Trads(object):
#     def __init__(símismo, pariente, valores=None):
#     def a_dic(símismo):
#     def borrar(símismo, llave):
#     def guardar(símismo):
#     def __contains__(símismo, itema):
#     def __getitem__(símismo, itema):
#     def __setitem__(símismo, llave, valor):
#     def __init__(símismo, archivo, auto=None):
#     def reinic(símismo):
#     def borrar(símismo, llave):
#     def guardar(símismo):
#     def __setitem__(símismo, llave, valor):
#     def __init__(símismo, dir_local):
#     def idioma(símismo):
#     def auxiliares(símismo):
#     def cambiar_idioma(símismo, idioma):
#     def cambiar_aux(símismo, aux):
#     def trad(símismo, texto):
#     def _regen_trads(símismo):
#     AUX = 'aux'
#     PRINC = 'principal'
#     DOMINIO = 'leng'
# 
# Path: tinamit/calibs/sintx/_funcs.py
# def conv_fun(fun, dialecto_orig, dialecto_final):
#     """
#     Traduce una función a otro dialecto.
# 
#     Parameters
#     ----------
#     fun: str
#         La función para traducir.
#     dialecto_orig: str
#         El dialecto original de la función.
#     dialecto_final: str
#         El dialecto final deseado.
# 
#     Returns
#     -------
#     str | Callable
#         La función traducida.
#     """
# 
#     if dialecto_final == dialecto_orig:
#         return fun
#     if dialecto_orig == 'tinamït':
#         return _dic_funs[fun][dialecto_final]
#     else:
#         if dialecto_final == 'tinamït':
#             return next(ll for ll, d in _dic_funs.items() if d[dialecto_orig] == fun)
#         else:
#             return next(d[dialecto_final] for ll, d in _dic_funs.items() if d[dialecto_orig] == fun)


from tinamit.config import _
from ._funcs import conv_fun
        import pymc3 as pm
        elif op == '<':
            return pm.math.lt(comp_1, comp_2)
        elif op == '>=':
            return pm.math.ge(comp_1, comp_2)
        elif op == '<=':
            return pm.math.le(comp_1, comp_2)
        elif op == '==':
            return pm.math.eq(comp_1, comp_2)
        elif op == '!=':
            return pm.math.neq(comp_1, comp_2)
        else:
            # Si no sabemos lo que tenemos, hay error.
            raise ValueError(op)

    def op_comp(símismo, x):
        return str(x.children[0])

    def convertir(símismo, árbol):
        if hasattr(símismo, árbol.data):
            return getattr(símismo, árbol.data)(árbol)
        else:
            raise TypeError(árbol.data)


class VstrAPy(object):
    def __init__(símismo, l_prms, dialecto):
        símismo.l_prms = l_prms
        símismo.dialecto = dialecto

    def func(símismo, x):

# Path: tinamit/config.py
# class OpsConfig(object):
# class Config(OpsConfig):
# class Trads(object):
#     def __init__(símismo, pariente, valores=None):
#     def a_dic(símismo):
#     def borrar(símismo, llave):
#     def guardar(símismo):
#     def __contains__(símismo, itema):
#     def __getitem__(símismo, itema):
#     def __setitem__(símismo, llave, valor):
#     def __init__(símismo, archivo, auto=None):
#     def reinic(símismo):
#     def borrar(símismo, llave):
#     def guardar(símismo):
#     def __setitem__(símismo, llave, valor):
#     def __init__(símismo, dir_local):
#     def idioma(símismo):
#     def auxiliares(símismo):
#     def cambiar_idioma(símismo, idioma):
#     def cambiar_aux(símismo, aux):
#     def trad(símismo, texto):
#     def _regen_trads(símismo):
#     AUX = 'aux'
#     PRINC = 'principal'
#     DOMINIO = 'leng'
# 
# Path: tinamit/calibs/sintx/_funcs.py
# def conv_fun(fun, dialecto_orig, dialecto_final):
#     """
#     Traduce una función a otro dialecto.
# 
#     Parameters
#     ----------
#     fun: str
#         La función para traducir.
#     dialecto_orig: str
#         El dialecto original de la función.
#     dialecto_final: str
#         El dialecto final deseado.
# 
#     Returns
#     -------
#     str | Callable
#         La función traducida.
#     """
# 
#     if dialecto_final == dialecto_orig:
#         return fun
#     if dialecto_orig == 'tinamït':
#         return _dic_funs[fun][dialecto_final]
#     else:
#         if dialecto_final == 'tinamït':
#             return next(ll for ll, d in _dic_funs.items() if d[dialecto_orig] == fun)
#         else:
#             return next(d[dialecto_final] for ll, d in _dic_funs.items() if d[dialecto_orig] == fun)


# Path: tinamit/calibs/sintx/_vstr_transf.py
from tinamit.config import _
from ._funcs import conv_fun
        import pymc3 as pm

        elif op == '<':
            return pm.math.lt(comp_1, comp_2)
        elif op == '>=':
            return pm.math.ge(comp_1, comp_2)
        elif op == '<=':
            return pm.math.le(comp_1, comp_2)
        elif op == '==':
            return pm.math.eq(comp_1, comp_2)
        elif op == '!=':
            return pm.math.neq(comp_1, comp_2)
        else:
            # Si no sabemos lo que tenemos, hay error.
            raise ValueError(op)

    def op_comp(símismo, x):
        return str(x.children[0])

    def convertir(símismo, árbol):
        if hasattr(símismo, árbol.data):
            return getattr(símismo, árbol.data)(árbol)
        else:
            raise TypeError(árbol.data)


class VstrAPy(object):
    def __init__(símismo, l_prms, dialecto):
        símismo.l_prms = l_prms
        símismo.dialecto = dialecto

    def func(símismo, x):

        fun = conv_fun(x.children[0], símismo.dialecto, 'python')  # Traducir la función a Python