All pastes #1812894 Raw Edit

meatcar

public text v1 · immutable
#1812894 ·published 2010-02-27 03:32 UTC
rendered paste body
        if isinstance(self.identifier, Function):
            env[str(self.identifier)] = (self.identifier.param, self.expr)
            return 'defined function %s' % self.identifier
        else:
            for e in self.expr:
                if e[0].isalpha():
                    if e in env:
                        if len(env[e]) == 2: # means it's a function call
                            if len(env[e][0]) != \
                               len(self.expr[(self.expr.index(e))]):
                                raise ParameterError()
                            t_env = dict(zip(env[e][0], self.expr[self.expr.index(e) + 1]))
                            ##working here##
                            pf_list = convert_postfix(env[e][1])
                            val = eval_postfix(pf_list)
                        else:
                            self.expr[self.expr.index(e)] = env[e]
                    else:
                        raise IdentifierEvalError(e)
            pf_list = convert_postfix(self.expr)
            val = eval_postfix(pf_list)
            env[str(self.identifier)] = val
            return '%s = %s' % (self.identifier, val)        for k in t_env:    if t_env[k] in env: #Check that the variable exists        t_env[k] = env[t_env[k]][0]    else:        raise AlexIsDumbError()