def convert_postfix()

in src/latex2sympy2_extended/latex2sympy2.py [0:0]


    def convert_postfix(self, postfix):
        if hasattr(postfix, 'exp'):
            exp_nested = postfix.exp()
        else:
            exp_nested = postfix.exp_nofunc()

        exp = self.convert_exp(exp_nested)
        for op in postfix.postfix_op():
            if op.BANG():
                if isinstance(exp, list):
                    raise Exception("Cannot apply postfix to derivative")
                exp = sympy.factorial(exp, evaluate=False)
            elif op.eval_at():
                ev = op.eval_at()
                at_b = None
                at_a = None
                if ev.eval_at_sup():
                    at_b = self.do_subs(exp, ev.eval_at_sup())
                if ev.eval_at_sub():
                    at_a = self.do_subs(exp, ev.eval_at_sub())
                if at_b is not None and at_a is not None:
                    exp = self.add_flat(at_b, self.mul_flat(at_a, -1))
                elif at_b is not None:
                    exp = at_b
                elif at_a is not None:
                    exp = at_a
            elif op.transpose():
                try:
                    exp = exp.T
                except Exception:
                    try:
                        exp = sympy.transpose(exp)
                    except Exception:
                        pass
                    pass
            elif op.degree() and self.convert_degrees:
                try:
                    exp = sympy.Mul(exp, sympy.pi/180)
                except Exception:
                    pass

        return exp