parameters: (self)
docstring: This is where the magic happens.
  
          We do our usually processing through the states and when we have a token
          to return we yield the token which pauses processing until the next token
          is requested.
docstring_summary: This is where the magic happens.
docstring_tokens: This is where the magic happens .
function: def __iter__(self):
          """ This is where the magic happens.
  
          We do our usually processing through the states and when we have a token
          to return we yield the token which pauses processing until the next token
          is requested.
          """
          self.tokenQueue = deque([])
          # Start processing. When EOF is reached self.state will return False
          # instead of True and the loop will terminate.
          while self.state():
              while self.stream.errors:
                  yield {"type": tokenTypes["ParseError"], "data": self.stream.errors.pop(0)}
              while self.tokenQueue:
                  yield self.tokenQueue.popleft()
function_tokens: def __iter__ ( self ) : self . tokenQueue = deque ( [ ] ) # Start processing. When EOF is reached self.state will return False # instead of True and the loop will terminate. while self . state ( ) : while self . stream . errors : yield { "type" : tokenTypes [ "ParseError" ] , "data" : self . stream . errors . pop ( 0 ) } while self . tokenQueue : yield self . tokenQueue . popleft ( )