code: def input(self, file_data, **kwargs):
          
          self.lex = lex.lex(module=self, **kwargs)
          self.tokens_queue = []
          self.cur_indent = 0
          # Hack to avoid tokenization bugs caused by files that do not end in a
          # new line.
          self.lex.input(file_data + '\n')
docs: Required by ply.yacc for this to quack (duck typing) like a ply lexer.
  
          :param str file_data: Contents of the file to lex.