class_docstr: Lexer for BSD and GNU make extensions (lenient enough to handle both in
  the same file even).
  
  *Rewritten in Pygments 0.10.*
class_docstr_tok: ["Lexer","for","BSD","and","GNU","make","extensions","(","lenient","enough","to","handle","both","in","the","same","file","even",")",".","*","Rewritten","in","Pygments","0.10",".","*"]
code: def get_tokens_unprocessed(self, text):
      ins = []
      lines = text.splitlines(True)
      done = ""
      lex = BaseMakefileLexer(**self.options)
      backslashflag = False
      for line in lines:
          if self.r_special.match(line) or backslashflag:
              ins.append((len(done), [(0, Comment.Preproc, line)]))
              backslashflag = line.strip().endswith("\\")
          elif self.r_comment.match(line):
              ins.append((len(done), [(0, Comment, line)]))
          else:
              done += line
      for item in do_insertions(ins, lex.get_tokens_unprocessed(done)):
          yield item
  
file_path: catboost/contrib/python/Pygments/py2/pygments/lexers/make.py
imports: import re
  from pygments.lexer import Lexer, RegexLexer, include, bygroups, do_insertions, using
  from pygments.token import Text, Comment, Operator, Keyword, Name, String, Punctuation
  from pygments.lexers.shell import BashLexer
label_desc: Use image node_id 1 for calling the MakefileLexer obj's underlying member method code with example usage: obj.get_tokens_unprocessed(text) without return types