(self, parser, group)
return group
This filter finds PrefixOperator, PostfixOperator, and InfixOperator
        nodes in the tree and calls their logic to rearrange the nodes.
This filter finds PrefixOperator, PostfixOperator, and InfixOperator
        nodes in the tree and calls their logic to rearrange the nodes.
This filter finds PrefixOperator PostfixOperator and InfixOperator nodes in the tree and calls their logic to rearrange the nodes .
def do_operators(self, parser, group):
        """This filter finds PrefixOperator, PostfixOperator, and InfixOperator
        nodes in the tree and calls their logic to rearrange the nodes.
        """

        for tagger, _ in self.ops:
            # Get the operators created by the configured taggers
            optype = tagger.optype
            gtype = tagger.grouptype

            # Left-associative infix operators are replaced left-to-right, and
            # right-associative infix operators are replaced right-to-left.
            # Most of the work is done in the different implementations of
            # Operator.replace_self().
            if tagger.leftassoc:
                i = 0
                while i < len(group):
                    t = group[i]
                    if isinstance(t, optype) and t.grouptype is gtype:
                        i = t.replace_self(parser, group, i)
                    else:
                        i += 1
            else:
                i = len(group) - 1
                while i >= 0:
                    t = group[i]
                    if isinstance(t, optype):
                        i = t.replace_self(parser, group, i)
                    i -= 1

        # Descend into the groups and recursively call do_operators
        for i, t in enumerate(group):
            if isinstance(t, syntax.GroupNode):
                group[i] = self.do_operators(parser, t)

        return group
def do_operators ( self , parser , group ) : for tagger , _ in self . ops : # Get the operators created by the configured taggers optype = tagger . optype gtype = tagger . grouptype # Left-associative infix operators are replaced left-to-right, and # right-associative infix operators are replaced right-to-left. # Most of the work is done in the different implementations of # Operator.replace_self(). if tagger . leftassoc : i = 0 while i < len ( group ) : t = group [ i ] if isinstance ( t , optype ) and t . grouptype is gtype : i = t . replace_self ( parser , group , i ) else : i += 1 else : i = len ( group ) - 1 while i >= 0 : t = group [ i ] if isinstance ( t , optype ) : i = t . replace_self ( parser , group , i ) i -= 1 # Descend into the groups and recursively call do_operators for i , t in enumerate ( group ) : if isinstance ( t , syntax . GroupNode ) : group [ i ] = self . do_operators ( parser , t ) return group