def _feed_node(self, value, loc):
        """A helper method called when an S-expression has been recognized.
        Like feed_line, this is a generator that yields newly recognized
        top-level expressions.  If the reader is currently at the top level,
        simply yields the passed expression.  Otherwise, it appends it
        to whatever is currently being parsed and yields nothing.
        """
        node = GenericNode(value, loc)
        if not self.stack:
            yield node
        else:
            top = self.stack[-1]
            if isinstance(top, StackEntryList):
                top.items.append(node)
            elif isinstance(top, StackEntryComment):
                self.stack.pop()
            else:
                assert 0
A helper method called when an S-expression has been recognized.
        Like feed_line, this is a generator that yields newly recognized
        top-level expressions.  If the reader is currently at the top level,
        simply yields the passed expression.  Otherwise, it appends it
        to whatever is currently being parsed and yields nothing.