code: def include_file(filename, lineno, local_first):
      
      global CURRENT_DIR
      filename = search_filename(filename, lineno, local_first)
      if filename not in INCLUDED.keys():
          INCLUDED[filename] = []
  
      if len(CURRENT_FILE) > 0:  # Added from which file, line
          INCLUDED[filename].append((CURRENT_FILE[-1], lineno))
  
      CURRENT_FILE.append(filename)
      CURRENT_DIR = os.path.dirname(filename)
      return LEXER.include(filename)
docs: Performs a file inclusion (#include) in the preprocessor.
      Writes down that "filename" was included at the current file,
      at line <lineno>.
  
      If local_first is True, then it will first search the file in the
      local path before looking for it in the include path chain.
      This is used when doing a #include "filename".