Hi, In the standard library module "operator", it would be nice to have a dictionary mapping operators strings with their respective functions. Something like:
{ '+': add, '-': sub, 'in': contains, 'and': and_, 'or': or_, ... } Rationale: Recently I had to implement a small language interpreter and I ended up building such a dictionary. Indeed the parser (I used PLY then pybison) returned an AST, where all arithmetic were represented by a single node type, like this: class Arithmetic(Expression): def __init__(self, op, lft, rgt): self.op = op self.lft = lft self.rgt = rgt def eval(self, scope): return self.op(self.lft.eval(scope), self.rgt.eval(scope)) The dictionary allowed the parser to have a single rule action like this: Arithmetic(opstr[term[1]], term[0], term[2]) Does such a dictionary already exist? Is it really a good and useful idea? Thanks, RB -- http://mail.python.org/mailman/listinfo/python-list